いくつかのオブジェクトに対して検査を実行したいのですが、残念ながら、それはいくつかの非常に大きなオブジェクトにリンクしているか、循環参照を持っています。その結果、多くのページの出力が生成されます。
検査で許可される再帰のレベルを制限する方法はありますか?
オブジェクトの#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
いいえ、「異なる」視覚化(「pp」が必要; ppオブジェクト)にprettyprintモジュールを使用するか、自分で何かを作成することをお勧めします。一般的なダンパーを作成することは、ニーズが異なるため非常に困難です(バイナリブロブのダンプ、文字列の長さのダンプ、グラフのサイクルのダンプ、レベルのダンプなど)。