В этом примере
def foo(x)
if(x > 5)
bar = 100
end
puts bar
end
Затем foo (6) Вывод: 100 и foo (3) ничего не выводят.
Однако, если я изменил определение на
def foo(x)
if(x > 5)
bar = 100
end
puts bob
end
Я получаю ошибку "неопределенная локальная переменная или метод".
Итак, мой вопрос: почему я не получаю эту ошибку, когда я вызываю foo (3), а bar никогда не устанавливается?