标签: ruby
Ruby在def和define_method内部对待局部变量的方式不同:
def
define_method
class MyClass y = 2 def foo y ||= 0 puts y end define_method :bar do y ||= 0 puts y end end my_class = MyClass.new my_class.foo # => 0 my_class.bar # => 2
我想知道为什么。