2009-07-22 5 views
1

オブジェクトに対してinspectを実行したいのですが、残念ながら実際に大きなオブジェクトにリンクしているか、循環参照があります。その結果、多くのページが出力されます。制限付き再帰で検査する

検査で許可されている再帰のレベルを制限する方法はありますか?

答えて

0

いいえ、「異なる」ビジュアライゼーション(「pp」; ppオブジェクトを必要とする)のためにprettyprintモジュールを使用するか、自分で何かを書くことができます。ジェネリックダンパーを書くには誰もが必要なものが異なるので、かなり難しいです(バイナリブロブをダンプするか、ダンプするか、ダンプするか、ダンプするか、どのレベルにダンプするか...)。

0

あなたのオブジェクトの#inspectの動作を変更する必要があると思います。あなたのオブジェクトを理解していれば、それほど難しくはありません。

class Array 
    def inspect 
    puts "This is an array, size=#{size}" 
    end 
end 

a = [1,2,3] 

puts a.inspect #=> This is an array, size=3 
+0

これは外部ライブラリなので、何が起こっているのか分かりません。 – viraptor

関連する問題