[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:000102] Re: deep copy



堀之内です。

ごとけんさん有難うございます。

>>     instance_variables.each{|v| 
>>       res.instance_eval "#{v} = #{v}.clone" 
>>     }

なるほど、こういう手があるんですね。

>> Marshal を使うという手を思いだしました。これなら相互参照もばっ
>> ちりなはず。

Marshal というのはオブジェクトの内容をファイルや文字列に書き出すものな
のですね。なんか変な名前のモジュールがあるなとは思っていたのですが...

オブジェクトが巨大になりそうな場合は、前者のように instance_eval を使
うのが良さそうですね。

堀之内 武                 horinout@xxxxxx
京都大学超高層電波研究センター    611-0011 宇治市五ヶ庄
phone:0774-38-3812                     fax:0774-31-8463