原です。

In message "[ruby-dev:10681] Re: Class Variable"
    on 00/08/25, Yukihiro Matsumoto <matz / zetabits.com> writes:
|
|まつもと ゆきひろです

||特異メソッドから見えるのは仕様ですよね。
|
|仕様です。

これが現在のsnapshotからはうまく動いていないようです。
ところで、以下の実行結果はどうなるべきですか?

class Foo
  @@cvar = 0
end
foo = Foo.new
class << foo
  p @@cvar #(a)
end
def foo.bar
  @@cvar
end
p foo.bar  #(b)
def Foo.bar
  @@cvar
end
p Foo.bar  #(c)

class Class
  @@cvar0 = 1
end
def Foo.baz
  @@cvar0
end
p Foo.baz   #(d)
class Foo
  @@cvar0 = 2
end
p Foo.baz   #(e)

現在は

(a) 0
(b) 0
(c) Error
(d) Error
(e) Error

ですが

(a) 0
(b) 0
(c) 0
(d) 1
(e) 2

でしょうか?