Rubyについて Part 34
■ このスレッドは過去ログ倉庫に格納されています
0063デフォルトの名無しさん
2009/02/05(木) 23:59:48> モジュールのメソッドがガン無視されるのはなんでだろう
p C.ancestors #=> [C, M, Object, Kernel]
ということで、メソッド探索順がMよりCが先だから、が正解
そもそも include が
[C, Object, Kernel]
のCの1個上に割り込んで
[C, M, Object, Kernel]
とすることでメソッド追加を実現してる機能だから、
「includeで既存のメソッドを上書き」ということ自体がそもそも仕様的にできない
>>59だと
[K, C, Object, Kernel]
にMが
[K, M, C, Object, Kernel]
という順番で割り込むから、実質、MでCが上書きできてる
■ このスレッドは過去ログ倉庫に格納されています