[ruby-dev:24220] Re: 1.instance_eval "@@a" dumps core

From: Tanaka Akira <akr@...17n.org>
Date: 2004-09-05 02:16:37 UTC
List: ruby-dev #24220
In article <1094342919.363209.2395.nullmailer@picachu.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> instance_eval内におけるクラス変数はそのオブジェクトの特異ク
> ラスに属するクラス変数が持てます。

[ruby-dev:24218] で出した例のうち、

% ruby -e '
class C
  @@a = 1
  p "".instance_eval("@@a")
end'
1

というのが説明できないように思うので、納得できません。

「そのオブジェクト」というのは "" を指すと思うのですが、そうだとすると
C に属する @@a が参照できるということから、C が "" の特異クラスだとい
うことになってしまいます。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread