From: matz@... (Yukihiro Matsumoto) Date: 2000-08-28T18:43:40+09:00 Subject: [ruby-dev:10700] Re: Class Variable まつもと ゆきひろです In message "[ruby-dev:10699] Re: Class Variable" on 00/08/28, Shin-ichiro Hara writes: |||特別扱いは少ないほどいいと思いますが、「クラスメソッ |||ドからクラス変数が見えない」というのは、ちょっと違和感があります。 |||どうなんでしょうね。 || ||私には断言できませんが、実は「クラスメソッド」という文法上の ||存在がなく、クラスの特異メソッドをクラスメソッドと呼んでいる ||だけという事実から、特別扱いしない方が良いだろうと今は思って ||ます。 | |そうすると、クラスメソッドからクラス変数を扱うには | |def Foo.foo; class_eval{@@cvar}; end | |みたいになりますよね。 ところが、その後つらつらと考えたのですが、トップレベルの特異 メソッドに関しては、クラス/モジュールを特別扱いした方が、ルー ルは増えるものの「驚き」が少ないのではないかという気がしてき ました。 そこで、とりあえず実装してみたのでお試しください。 この場合、前のテストの結果は (a) 0 (b) 0 (c) 0 (d) Error (e) 2 になります。あるいは、さらにクラス定義内でも特異メソッドの振 る舞いは統一した方が良いかもしれません。 まつもと ゆきひろ /:|)