0
例如,我們有:爲什麼這個方法沒有被覆蓋?
module X
def test
"X"
end
end
module Y
def test
"Y"
end
end
class L
include X
end
L.new.test #=> "X"
class L
include Y
end
L.new.test #=> "Y"
class L
include X
end
L.new.test #=> "Y"
下面是奇怪的事情。爲什麼最後的包含沒有將方法更改爲X的方法?
但爲什麼它會調用時,模塊包括在課堂上「包括」模塊回調每一次? – megas 2012-01-14 04:57:39
看看'Module#include'源代碼。它首先調用'append_features',然後,不管模塊是否真的包含它,都調用'included'鉤子。 – 2012-01-14 05:03:39