作者godfat (godfat 真常)
看板Ruby
標題Re: [rbx ] include_remove
時間Sun Nov 2 02:28:23 2008
※ 引述《poga (波卡)》之銘言:
: 之前有看到一個叫mixology的gem...
: 可以支援mixin與unmix...
: 用途應該跟你要的uninclude差不多?
: gem install mixology
噢,我記得之前還有看過一個 readme 寫很長的,不過名字忘記了,
不知道是不是你提到的這個 @@ 查了一下,他在 github 也有:
http://github.com/dan-manges/mixology/tree/master
看了一下,他多支援了 JRuby. 而 Rubinius 的實作法跟 rbmodexcl 很接近:
http://github.com/dan-manges/mixology/tree/master/lib/mixology_rubinius.rb
不過我不是很懂,他用 mixin 取代 extend 的用意?
以 rubinius 的實作來看,這也並非是兩個系統,
意味 extend 和 mixin 混著用也許不會有問題...
jruby 和 mri 的部份我就不清楚了,懶得細看... @_@
: 然後他還給了個拿來玩state pattern的範例...
這還滿有意思的 :D
不過 method open/close 變來變去,拿來當範例沒問題,
實際上這樣寫覺得太容易造成混淆。例如 [].to_a 就等於 do nothing 即可。
--
By Gamers, For Gamers - from the past Interplay
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18
→ poga:剛試了一下,直接用extend再unmix也沒問題 MRI 1.8.6 11/02 02:40
→ poga:所以我猜是為了他語法的一致性,才多弄個mixin吧? 11/02 02:41
→ godfat:可是他也不是單純 alias 而已... XD 好謎? 11/02 02:43
→ poga:謎阿 XD 不過我是在Design pattern in ruby的投影片上看到的 11/02 02:44