yarv-dev:708
From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Mon, 26 Dec 2005 09:09:11 +0900
Subject: [yarv-dev:708] Re: Const in instance_eval
In message "Re: [yarv-dev:707] Const in instance_eval" on Mon, 26 Dec 2005 08:39:14 +0900, SASADA Koichi <ko1 atdot.net> writes: | ささだです。 | | 次のプログラム、 | |Const = :top |class C | Const = :C | def m | p 1.instance_eval("Const") | end |end | |C.new.m | | で、:top が出力されるのはそういうもんでしょうか。:C が出力されるのは明 |らかな誤りですか? それとも、今こうなっているだけでしょうか。 |(YARV では :C が出力される) いや、:Cが出力されるべきなんじゃないでしょうか。Fixnumなど特 異クラスが作れないオブジェクトに対してinstance_evalを行った 場合にはcbaseはnilになってるはずなんで、すると定数参照はすぐ 外側のCを見に行く(その後、Fixnum→Integer...と進む) べきだと 思います。 バグだな。 -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
707 2005-12-26 08:39 [ko1 atdot.net ] Const in instance_eval -> 708 2005-12-26 09:09 ┗[matz ruby-lang.org ] 712 2005-12-27 01:07 ┗[ko1 atdot.net ]