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