評価せずとも読んでいる
ボーッと貯まりに貯まった古いMLをだらだら読んだりするわけですが、これはメモがてら残しておきます。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/37434
irb(main):001:0> p foo NameError: undefined local variable or method `foo' for main:Object from (irb):1 from :0 irb(main):002:0> if false irb(main):003:1> foo = "foo" irb(main):004:1> end => nil irb(main):005:0> p foo nil => nil
パーザーの動きを考えれば自然な挙動ですが、直感的ではありませんでした。
「評価されてないから消しちゃえ」とかやると、バグが混入してしまいそうです。