Versuchen Sie Folgendes in irb: (Ich bin mit Ruby 2.0.0-S. 247)Wie wird eine lokale Variable erstellt, selbst wenn die IF-Bedingung in Ruby zu false ausgewertet wird?
blah
#=> NameError: undefined local variable or method `blah' for main:Object
if false
blah = 'blah'
end
#=> nil
blah
#=> nil
Ich bin überrascht, dass blah
nil
selbst zugewiesen wird, wenn der if
Zustand false
auswertet. Ich dachte, der Code innerhalb if
wird übersprungen, da die Bedingung false
auswertet.
Könnte jemand mit Ruby Interna Wissen erklären, wie das passiert ist?
Danke
Interessant. Es wäre schön, den YARV zu sehen, der diesem Code entspricht. – Pak
@Pak: Da gehst du http://pastebin.com/HvNy4u69 –