The behavior of the defined? operator is different in current ruby 1.9
snapshots than it is in 1.8.5. Anyone know whether this is a bug or a
feature?
# Ruby 1.8: prints "assignmentnil"
ruby -e 'print defined? a=1; print a;'
# Ruby 1.9: prints "expression1"
./ruby1.9 -e 'print defined? a=1; print a;'
Note that this is a pretty major difference: Ruby 1.9 evaluates the
assignment statement on the right of defined? while Ruby 1.8 does not.
David Flanagan