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

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

> あ、しまった。「今の」クラス変数は特異クラスに対して呼ばれる
> とネストの外側を見に行くのでした。「こうしよう」と思ってる仕
> 様とごっちゃになってました。修正します。

なぜそういう仕様なんでしょうか?

特異クラスはインスタンスと一対一に対応するので、特異クラスに属するクラ
ス変数のスコープはインスタンス変数のスコープと同じ範囲になるように思い
ます。とすると、わざわざクラス変数を使う意味はなくなることになります。

特異クラスではなく普通のクラスのクラス変数にするという仕様もあり得ると
思うのですが、それに対して予定されている仕様の利点はなんでしょうか?
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread