From: Moru Date: 2010-12-20T12:04:13+09:00 Subject: [ruby-list:47704] Re: [ruby-list:47700] ruby 1.9 では Module.constants で参照できない名前が返ってくる モルです。 以前、似たようなスレッドがあったのですが、仕様ではないっぽいです。 ruby-list:47079 参照ください。 -- Moru DRS 2010/12/17 KISHIMOTO, Makoto : > きしもとです > > これって仕様なのでしょうか? > ruby 1.8 と ruby 1.9 で動作が違います。 > > $ cat hoge.rb > module M;A=1;end > M.module_eval{Module.constants.each{|c|eval c.to_s}} > > $ ruby -v hoge.rb > ruby 1.8.7 (2009-12-24 patchlevel 248) [amd64-freebsd8] > > $ ruby19 -v hoge.rb > ruby 1.9.3dev (2010-12-16 trunk 30224) [x86_64-freebsd8.2] > hoge.rb:2:in `eval': uninitialized constant Module::A (NameError) >        from hoge.rb:2:in `eval' >        from hoge.rb:2:in `block (2 levels) in
' >        from hoge.rb:2:in `each' >        from hoge.rb:2:in `block in
' >        from hoge.rb:2:in `module_eval' >        from hoge.rb:2:in `
' > >