Ruby's "foo = true if! Defined?" foo ”funktioniert nicht wie erwartet
Wenn es tatsächlich nicht definiert ist, erhält es den Wertnil
nur weil es "berührt" wurde:
$ irb
ruby-1.9.2-p0 > foo = true if !defined? foo
=> nil
ruby-1.9.2-p0 > foo
=> nil
ruby-1.9.2-p0 > if !defined? bar
ruby-1.9.2-p0 ?> bar = true
ruby-1.9.2-p0 ?> end
=> true
ruby-1.9.2-p0 > bar
=> true
so theif
...end
funktioniert wie erwartet, aberfoo = true if ...
nicht.