[前][次][番号順一覧][スレッド一覧][生データ]

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       ]