From: Yukihiro Matsumoto Date: 2009-12-07T07:13:24+09:00 Subject: [ruby-dev:39848] Re: [ruby-cvs:33238] Ruby:r26022 (trunk): * marshal.c (w_object): dump instance variables when using まつもと ゆきひろです In message "Re: [ruby-dev:39845] Re: [ruby-cvs:33238] Ruby:r26022 (trunk): * marshal.c (w_object): dump instance variables when using" on Sun, 6 Dec 2009 09:29:34 +0900, Tanaka Akira writes: |そうやって dump すると、dump できないものが入っていたときに |dump 不能になります。 |以前、[ruby-dev:21475] でも指摘したことがありますが。 本来ならオブジェクトの復元に必要な情報はすべてmarshal_dumpで 供給されるべきなんでしょうね。そういう意味では、インスタンス 変数の復元は行わない方がよいということになるわけですが、すで に行ってきているわけで、互換性も気になりますねえ。これは私の 設計ミスです。 互換性との兼ね合いを考えると「dumpできないオブジェクトを指す インスタンス変数は無視」というのがひとつのやり方ですが、現在 の実装では実際にdumpしないとdumpできないかとうかわからないわ けですし、一度dumpしてしまったものをキャンセルする機能も提供 していませんし、いろいろ面倒ですね。