けいじゅ@SHLジャパンです. In [ruby-list :00874 ] the message: "[ruby-list:874] Re: marshal[ruby 0.99.2-961011 available ] ", on Oct/22 14:22(JST) matz / caelum.co.jp (Yukihiro Matsumoto) writes: >|循環オブジェクトって, オブジェクトからの参照が結局自分に戻ってくる場合 >|のことですよね. > >そうです. ということは, もし循環オブジェクトがあると無限ループに陥るわけですよね?? >|これを正式にサポートしなくなったというのはどういうことですか?? >理由は以下の通りです. > > * 松本は対応しているつもりだったが実は対応できていなかった > * 実際に抜けを無くして対応するのはかなり大変だった > * これに対応すると結局吐き出したオブジェクトを全部記録する > 必要があり,メモリを喰う ですよねえ. > * 今まで問題は起きていないし,他の多くのmarshalingはやはり > 対応していない 他のmarshalはよく知らないのですが, rubyのはもっと高機能だと聞いた覚え がするのですが?? >このような理由で対応しなくなりました.対応して欲しいという希 >望はもちろん検討しますけど. できれば対応されている方が望ましいですよね. Marshalにはフックをかける 機能があったとおもいましたが, それで対応するのも大変なので... ただ, 循環オブジェクト対応マーシャルはコストがかかるので, 循環オブジェ クト非対応版のサブクラスかなんかで用意されていると嬉しいですね. これか らセーブしようと思うオブジェクトが循環しているかどうかは判断できると思 いますしね. __ ..........................................石塚 圭樹@SHLジャパン(株)... ------------->アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----