From: Hideto ISHIBASHI Date: 2000-06-22T12:19:58+09:00 Subject: [ruby-list:23445] Re: dump a single object 石橋"rubyholic"秀仁です。 なかださん、こんにちは。 From: nobu.nakada@nifty.ne.jp Subject: [ruby-list:23441] Re: dump a single object > なかだです。 > > At Thu, 22 Jun 2000 06:57:17 +0900, > Masatoshi SEKI wrote: > > > > marshal.c読んでいて思ったんですけど、どうでしょう。 > > > > オブジェクトの構造をなめたりする作業はmarshalに任せて > > > > marshalフォーマットの echoder/decoder みたいなの。 > > > > > > marshal.c の [rw]_{byte,long} あたりの関数をそれぞれ Marshal > > > のメソッドにするような感じでしょうか、だいたい。 > > > > もうちょっと高次の関数というかセンテンスかもしれないです。 > > > > Marshalは単純にオブジェクトの写像があるだけじゃなくて、 > > 共有のための表とかもあるからそういうのも考慮しないと…。 > > そのへんは Marshal がやってくれて、Marshal のサブクラスでは実 > 際の各オブジェクトの表現だけを気にすればいいようにするとか。 ですね。ちょっと追加すれば、サブクラス化より、 「参照関係グラフを表現したオブジェクト(Array:[[from,to],...])」と、 「ダンプされたオブジェクト(String)」が、別に取り出せるのがいいかも Composite と Iterator の併用です。走査して、 表や XML など任意のフォーマットに落とします。 XML parser の DOM みたいなもんでしょうか。 -- Hideto "rubyholic" ISHIBASHI http://www.rr.iij4u.or.jp/~hideto-i/ blade clone: http://www.rr.iij4u.or.jp/~hideto-i/rb/yaiba/index.html