Почему в приведенном ниже фрагменте кода foo заменяет его определение?
def foo
def foo
1
end
end
в первый раз foo
равен nil
foo
=> nil
foo.foo
=> 1
Теперь, если я снова назову foo
:
foo
=> 1
Как видите, foo
больше не нуль. Может кто-то объяснить это мне? спасибо.