В этом примере
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
Я получаю ошибку "undefined локальная переменная или метод".
Итак, мой вопрос в том, почему я не получаю эту ошибку, когда я вызываю foo (3), и бар никогда не устанавливается?