From: Kouji Miyauchi Date: 2003-06-23T20:32:35+09:00 Subject: [ruby-list:37815] 配列の使い方 宮内と申します。 配列の使い方について教えてください。 --------------------------------------------------------------- class Hoge @@a = 10 def disp() p @@a end def set( s ) @@a = s end end class Hogehoge @@ary = Array.new() def pp() fi = Hoge.new se = Hoge.new se.set( 11 ) @@ary[0] = fi @@ary[1] = se fi.set( 12 ) @@ary[2] = fi @@ary[0].disp() @@ary[1].disp() @@ary[2].disp() end end testcase = Hogehoge.new testcase.pp() ------------------------------------------------------------- 上記のソースを実行して ----------------------- 10 11 12 ----------------------- という結果を得たいのですが、実際は ----------------------- 12 12 12 ----------------------- と表示されてしまいます。 実際に行いたいことは 下のC++のコードと同等の処理です。 ------------------------------------------------------------- class Hoge { int a; public: Hoge(){ a = 10;}; virtual ~Hoge(){}; void set( int n ){ a = n;}; void disp(){ cout << a << "\n"; }; }; int main() { Hoge Array[3]; Array[1].set(11); Array[2].set(12); Array[0].disp(); Array[1].disp(); Array[2].disp(); return 0; } ------------------------------------------------------------- Rubyだとクラスインスタンスの配列化が出来ないようなので どのように配列を作るのが適当なのか良くわかりません。 すみませんが、ご教授お願いいたします。 -- ---- 宮内 浩司 E-Mail: koji.miyauchi@tjsys.co.jp