まつもと ゆきひろです
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が定義できるかどう
かちょっと自信がありません。