1

いくつかのオブジェクトに対して検査を実行したいのですが、残念ながら、それはいくつかの非常に大きなオブジェクトにリンクしているか、循環参照を持っています。その結果、多くのページの出力が生成されます。

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

4

2 に答える 2

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
于 2009-07-22T12:21:23.713 に答える
0

いいえ、「異なる」視覚化(「pp」が必要; ppオブジェクト)にprettyprintモジュールを使用するか、自分で何かを作成することをお勧めします。一般的なダンパーを作成することは、ニーズが異なるため非常に困難です(バイナリブロブのダンプ、文字列の長さのダンプ、グラフのサイクルのダンプ、レベルのダンプなど)。

于 2009-07-22T11:29:08.433 に答える