From: Hideto ISHIBASHI Date: 2000-06-21T16:27:39+09:00 Subject: [ruby-list:23411] dump a single object 石橋"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