PP.pp(obj[, out[, width]])
obj を out に幅 width で pretty print します。
out を省略した場合は、$>
が指定されたものとみなされます。
width を省略した場合は、79 が指定されたものとみなされます。
PP.pp は out を返します。
PP.sharing_detection
共有検出フラグを boolean すなわち true か false で返します。 デフォルトは false です。
PP.sharing_detection = boolean_value
共有検出フラグを設定します。
pp(obj)
Object#pretty_print や Object#pretty_print_cycle を使って、 obj を pretty print バッファに追加します。
obj がすでに出力されていたときには Object#pretty_print_cycle が使われます。これはオブジェクトの参照の連鎖がループしていることを 意味します。
object_group(obj) { ... }
以下と等価な働きをするもので簡便のために用意されています。
group(1, '#<' + obj.class.name, '>') { ... }
comma_breakable
以下と等価な働きをするもので簡便のために用意されています。
text ',' breakable
pretty_print(pp)
一般のオブジェクトのためのデフォルトの pretty print メソッドです。
このメソッドはインスタンス変数を列挙するために
pretty_print_instance_variables
を呼びます。
カスタマイズ(再定義)された inspect
を self
が持つ場合、
self.inspect
の結果が使われますが、これは改行のヒントを持ちません。
もっともよく使われるいくつかの組み込みクラスについて、 PP モジュールはあらかじめ定義された pretty_print() メソッドを 簡便のために提供しています。
pretty_print_cycle(pp)
一般のオブジェクトがサイクルの一部であることが検出されたときのための デフォルトの pretty print メソッドです。
pretty_print_instance_variables
ソートされたインスタンス変数の名前の配列を返します。
このメソッドはインスタンス変数の名前をシンボルか文字列として要素に持つ
配列を返さなければなりません。
[:@a, :@b]
.