From: keiju@... (Keiju ISHITSUKA) Date: 1997-08-30T20:30:23+09:00 Subject: [ruby-list:3985] Re: class variable けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :03962 ] the message: "[ruby-list:3962] Re: class variable ", on Aug/29 18:46(JST) toyofuku@juice.or.jp writes: > 豊福@パパイヤです。 > >> [Q] クラスのインスタンス変数とは何ですか? > クラス定数とクラスのインスタンス変数の違いは >わかってきましたが、こういうときこそクラスの >インスタンス変数の方を使うんだという一般ユーザ >にとって現実的な例にはどういうのがあるでしょうか。 いわばクラス定数は, 外からアクセスできるパブリックなものですから, プラ イベートな利用をしたい場合はクラスのインスタンス変数を使うことになると 思います. あと, そのクラスだけの変数にしたいのか, サブクラスでも共有したいのかに よっても変わってきますね. ただ, 通常のクラスの場合は, 入れ物であり状態(インスタンス変数)を持たせ る必要がある例はすぐには思い浮かびませんね. 代わりに, モジュールであれ ば例があるかも知れません. 以下の例は, 乱数を返すモジュールです. インスタンス変数として乱数の種を 持っています. module Random @seed = # 初期値 def next # @seedをつかって, 乱数を発生させ, それを返す. end module_function :next def seed=(new_seed) .. end module_function :seed= end あと, ruby/lib のなかでは finalizer.rb が (モジュールですけども)インス タンス変数を持っていますね. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---