オブジェクトに対してinspectを実行したいのですが、残念ながら実際に大きなオブジェクトにリンクしているか、循環参照があります。その結果、多くのページが出力されます。制限付き再帰で検査する
検査で許可されている再帰のレベルを制限する方法はありますか?
オブジェクトに対してinspectを実行したいのですが、残念ながら実際に大きなオブジェクトにリンクしているか、循環参照があります。その結果、多くのページが出力されます。制限付き再帰で検査する
検査で許可されている再帰のレベルを制限する方法はありますか?
いいえ、「異なる」ビジュアライゼーション(「pp」; ppオブジェクトを必要とする)のためにprettyprintモジュールを使用するか、自分で何かを書くことができます。ジェネリックダンパーを書くには誰もが必要なものが異なるので、かなり難しいです(バイナリブロブをダンプするか、ダンプするか、ダンプするか、ダンプするか、どのレベルにダンプするか...)。
あなたのオブジェクトの#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
これは外部ライブラリなので、何が起こっているのか分かりません。 – viraptor