石橋"rubyholic"秀仁です。

オブジェクトの永続化を、表 (ID,オブジェクトの実体)
と表 (参照元オブジェクトID, 被参照オブジェクトID)
での関係表に展開しようと思います。
# RDBMS による永続化フレームワークの遊びです (^^;

Marshal.dump(obj) などで、インスタンス変数をたどらず、
obj そのものだけを serialize する方法はありませんか。

10.downto(0) do |limit|
  Marshal.dump(obj, io, limit)
  # OR Marshal.dump(obj, limit)
end

としてみると、ある数で "exceed depth limit (ArgumentError)"
となります。"exceed depth limit"の状態で、その limit まで
(とくに'1') で、構わずダンプするようなものが欲しいものです。

# 最近話題の xmarshal.rb で、「複数のオブジェクトのインスタンス
# 変数として参照されているオブジェクトは、重複してダンプされる」
# という問題も、これが原因でしょうか。

C を使わず Ruby だけで解決すれば美しいですよね。
いちおう marshal.c に細工する方法も実験中です・・・

--
Hideto "rubyholic" ISHIBASHI
http://www.rr.iij4u.or.jp/~hideto-i/
blade clone (yaiba) development:
http://www.rr.iij4u.or.jp/~hideto-i/rb/yaiba/index.html