作者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
1F:→ poga:刚试了一下,直接用extend再unmix也没问题 MRI 1.8.6 11/02 02:40
2F:→ poga:所以我猜是为了他语法的一致性,才多弄个mixin吧? 11/02 02:41
3F:→ godfat:可是他也不是单纯 alias 而已... XD 好谜? 11/02 02:43
4F:→ poga:谜阿 XD 不过我是在Design pattern in ruby的投影片上看到的 11/02 02:44