大島@北陸先端科学技術大学院大学です。

From: matz / netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:13866] Re: cross-reference duplication
Date: Mon, 19 Apr 1999 13:31:52 +0900

> できません.OSが許してくれないから.

やはり、そうですか。

> 一般的には
> 
>   TCPsocketへの参照をdump前に外す
>   複製するインスタンスにTCPsocketを含まないように再設計
> 
> などがお勧めですが,難しいでしょうか?

TCPsocketへの参照をdump前に外すのは難しそうなので、TCPsocket部分を別
インスタンスに分離したところ、うまくいきました。どうもありがとうござ
いました。

ところで、そもそも相互参照関係のような複製にはMarshalを使うのが一般
的なのでしょうか?十分に便利なのですが、1度文字列になってしまうので、
もっと効率良く「Marshal.load(Marshal.dump(self))」する方法があるとう
れしい気がします。もっとも、dupで対応しきれない程の複雑な相互参照関
係を持ったインスタンス群を作ること自体、設計が間違っているのかも知れ
ませんが。

大島 龍之介	ryu / jaist.ac.jp