def foo def foo 1 end end
第一次foo是零
foo => nil foo.foo => 1
现在再说一遍foo:
foo => 1
你可以看到foo不再是零.谁可以给我解释一下这个?谢谢.
def foo p "about to redef foo" def foo 1 end end
foo "about to redef foo" => nil foo => 1
此外,当您调用foo.foo时,似乎您正在尝试访问内部foo方法,但它不会以这种方式工作.你的foo方法实际上是在Object上定义的,所以你实际上是调用1.foo.