2010年12月20日

[ruby-list:47704] Re: [ruby-list:47700] ruby 1.9 では Module.constants で参照できない名前が返ってくる

モルです。

以前、似たようなスレッドがあったのですが、仕様ではないっぽいです。

ruby-list:47079

参照ください。

--
Moru DRS

2010/12/17 KISHIMOTO, Makoto <ksmakoto@xxxxx>:
> きしもとです
>
> これって仕様なのでしょうか?
> 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 <main>'
> ? ? ? ?from hoge.rb:2:in `each'
> ? ? ? ?from hoge.rb:2:in `block in <main>'
> ? ? ? ?from hoge.rb:2:in `module_eval'
> ? ? ? ?from hoge.rb:2:in `<main>'
>
>

投稿者 xml-rpc : 2010年12月20日 12:04
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/100866
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。