まつもと ゆきひろです

In message "[ruby-list:39212] 特異メソッドでのクラス変数"
    on 04/02/18, "eclipse" <eclipse / neneko.com> writes:

|特異メソッドでクラス変数を参照しようとすると,
|uninitialized class variable @@clsVar in Object (NameError)
|というエラーが発生してしまいます.
|個人的にはこれは意図した挙動ではないと思うのですがどうなんでしょうか?

クラス変数は実際には

  その場所を囲むもっとも内側の
  (特異クラスでない)class文またはmodule文のボディ

をスコープとする変数です。では、問題です。

|class << hogeB
|  def methodB
|    p @insVar
|    p @@clsVar # error
|  end
|end

で@@clsVarの所属するクラスはなんでしょう?