なかだです。

At Tue, 14 Oct 2003 12:34:22 +0900,
Yukihiro Matsumoto wrote:
> |こんなことをしておくと、Fooのserialized formatを読み込む際、
> |readObjectで新たなFooインスタンスが生成されたあと、そいつの
> |readResolveメソッドが呼ばれ、返ってきたsingletonが、読み込む
> |オブジェクトグラフ中に代わりに埋め込まれます。readObjectで
> |作られた新たなFooインスタンスはすぐに捨てられます。
> |readResolveが呼ばれるタイミングは、serialize formatを読み込んで
> |いく最中、readObjectを呼んでオブジェクトの構築が終わった直後です。
> |http://java.sun.com/j2se/1.3/docs/guide/serialization/spec/input.doc6.html
> 
> だいたい理解できました。私の理解が正しいとすると、Rubyなら
> marshal_loadがちょうどreadResolveに相当するのではないでしょ
> うか。readObjectがないぶん簡単と言うか、柔軟性が低いと言うか。

marshal_loadの戻り値を使うようにするということでしょうか。

marshal_dumpされたものだけでなくてすべてについてreadResolveして
くれると、古いバージョンでダンプしたFile::Statなんかもそのまま
ロードできるようになるんじゃないかなぁ、と思いました。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦