module Lab
def self.foo
puts 'foo from lab'
end
end
module M
def foo
puts 'foo from module'
super
end
end
module Lab
extend M
end
Lab.foo
我期待,我會看到爲什麼要擴展方法是不把看跌期權價值
foo from module
foo from lab
但是我所得到的是
foo from lab
我所試圖做的是攔截一個來自寶石的方法的價值,並做一些事情。我可以使用alias_method_chain,但我試圖不使用它。
我刪除我的答案,因爲這是不正確的(出於某種原因,人們反正upvoting它)。爲了防止人們思考我的想法:上述代碼中的方法都不是實例方法(因爲「擴展」的工作原理)。 – 2011-06-13 23:40:03