なひです。

> From: "Yukihiro Matsumoto" <matz / ruby-lang.org>
> Sent: Tuesday, October 14, 2003 1:33 PM

> |> だいたい理解できました。私の理解が正しいとすると、Rubyなら
> |> marshal_loadがちょうどreadResolveに相当するのではないでしょ
> |> うか。readObjectがないぶん簡単と言うか、柔軟性が低いと言うか。
> |
> |marshal_loadの戻り値を使うようにするということでしょうか。
> 
> あ、そうです。戻り値を使えば、ですね。
> でも、それはそれで面倒かなあ。

marshal_loadを書いた人は、最後にselfを返すこと、というルールでも、
それほど問題ではない気もします。それほど頻繁に使われるものでも
ないし。

Javaでは、readObjectの最後のタイミングでは、まだオブジェクトの
構築が終わっていないために、readResolveという別メソッドになったの
だと思いますが、Rubyでは、

* 階層を越えたmarshal_load呼び出しをやらないのであれば、marshal_loadの
  最後のタイミングではオブジェクト構築は終わっている。
* extendを吐き出すのもユーザの債務なので、extendのリンクも完成形。

ということから、marshal_loadの1メソッドで終わりにするのもアリだと
思います。ですが、[ruby-list:38544]に書かれているように、
private instancevariableが入るとどうかな、という心配はあります。