From: "NAKAMURA, Hiroshi" Date: 2003-10-14T13:42:08+09:00 Subject: [ruby-list:38548] Re: marshal_dump (was Re: ) なひです。 > From: "Yukihiro Matsumoto" > 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が入るとどうかな、という心配はあります。