From: SASADA Koichi Date: 2011-03-29T17:55:46+09:00 Subject: [ruby-dev:43366] Re: [ruby-dev:43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い  ささだです. (2011/03/29 17:41), Yukihiro Matsumoto wrote: > 以下のプログラムは1.8ではエラーになりますが、1.9ではエラーを > 示さず動作します。定数参照は(できるだけ)静的スコープで、とい > う設計方針に従えば、1.8の方が正しいと思います。 > > どうやって直したら良いと思いますか? あるいは直さずに今後は > 1.9的挙動が正としますか? > > module A > B = 42 > end > > A.class_eval do > def self.f > p B > end > end > > A.f module A; B = 42; end A.class_eval{p B} #=> `block in
': uninitialized constant Module::B (NameError) なので,それが動くのはまずいかもしれませんね.少し考えさせてください. # しかし,なんで Module::B なんだ. -- // SASADA Koichi at atdot dot net