這實質上是Ruby Metaprogramming 2的一個片段。在這部分中,他們將這個例子渲染出來,但並沒有真正的解釋。細化範圍如何工作?
module MyRefinement
refine MyClass do
def my_method
"refined"
end
end
end
class MyClass
def my_method
"original"
end
def another_method
my_method
end
end
using MyRefinement
obj = MyClass.new
puts obj.my_method #=> "refined"
puts obj.another_method #=> "original"
當你從另一個調用方法my_method
爲什麼不細化申請?
閱讀本https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/RefinementsSpec ...我困惑閱讀完整頁面後。 –