In diesem Beispiel,
def foo(x)
if(x > 5)
bar = 100
end
puts bar
end
Dann foo(6) Gibt aus: 100 und foo(3) gibt nichts aus.
Wenn ich jedoch die Definition ändere in
def foo(x)
if(x > 5)
bar = 100
end
puts bob
end
Ich erhalte eine Fehlermeldung "undefinierte lokale Variable oder Methode".
Meine Frage ist also, warum ich diesen Fehler nicht bekomme, wenn ich foo(3) aufrufe und bar nie gesetzt wird?