まつもと ゆきひろです

In message "[ruby-dev:14453] Re: [Patch] pp.rb and debug.rb"
    on 01/08/14, "NAKAMURA, Hiroshi" <nakahiro / sarion.co.jp> writes:

|最初の話に戻ると、
|
|  inspect中に、
|  既存の重複検査用データで重複検査をしたい時もあるし(custom inspector)、
|  新たな重複検査用データを持ち込みたいときもある(デバッグ中に新たにpを呼ぶ)
|
|  marshal中に、
|  既存の重複検査用データで重複検査をしたい時もあるし(custom marshaller)、
|  新たな重複検査用データを持ち込みたいときもある(やっぱりデバッグ中?)
|
|で、この要求を満たすインタフェイスとして、traverseという統一APIを
|持ち込むことができるのかなーと思ったのが[ruby-dev:14438]なんですが、
|実装案がない(他力本願な)ところが弱い。

[ruby-dev:14451]の繰り返しになりますが、inspectは引数を取ら
ないので、重複検査用の情報を外部から与える事ができません。こ
れはinspectがこういうAPIなので出てくる制限です。Marshalには
このような制限はありません。

traverseについては面白いといえば面白いですが、再帰まで考慮し
て実用的に使えて、かつ汎用的なtraverse APIが定義できるかどう
かちょっと自信がありません。