From: matz@... (Yukihiro Matsumoto) Date: 1997-03-31T18:02:59+09:00 Subject: [ruby-list:2551] Re: Q: add class methods (Re: WWW library) まつもと ゆきひろです. In message "[ruby-list:2549] Re: Q: add class methods (Re: WWW library)" on 97/03/31, MAEDA Shugo writes: | |前田です。 |便乗質問なのですが、rubyにクラス変数に相当するものはありますか? |Object Pascalではクラス変数がなかったのでimplementation部で宣言した |変数をクラス変数の代わりに使っていたのですが、rubyではどうするのが |よいのでしょう? クラス変数というのは以下のうちどれを指しますか? (1) クラスメソッドで共有される変数 (2) そのクラスのクラスメソッド/メソッドで共有されるメソッド (3) そのクラスとサブクラスのクラスメソッド/メソッドで共有されるメソッド 1の場合,クラスのインスタンス変数が使えます.これはクラス間 では共有されませんから,ちょっと使い勝手が悪いかも知れません ね.2の場合には直接該当するものはありません. 3の場合クラス定数を使います.クラス定数は値が変えられません が,コンテナを使って間接的に値を変えます.クラス定数はそのク ラスとサブクラスの範囲内でどこからでも参照できます. 例えば class Foo Share=[] def foo Share[0] = 25 .. end end class Bar