るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.437秒)
トップページ > クエリ:-[x] > クエリ:e[x] > クエリ:empty[x] > クエリ:pretty_print_cycle[x]

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

ライブラリ

クラス

検索結果

Object#pretty_print_cycle(pp) -> () (24313.0)

プリティプリント時にオブジェクトの循環参照が検出された場合、 Object#pretty_print の代わりに呼ばれるメソッドです。

...ject#pretty_print の代わりに呼ばれるメソッドです。

あるクラスの pp の出力をカスタマイズしたい場合は、
このメソッドも再定義する必要があります。

@param pp PP オブジェクトです。

//emlist[][ruby]{
class Array
def pretty_print_cycle...
...(q)
q.text(empty? ? '[]' : '[...]')
e
nd
e
nd
//}

@see Object#pretty_print...

pp (42.0)

オブジェクトなどを見やすく出力するためのライブラリです。

...ジェクトなどを見やすく出力するためのライブラリです。

このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得る...
...すので、Kernel.#pp を使う上で余計な作業をする
必要はありません。

=== どちらが読みやすいでしょうか?

p による pretty-print されてない出力:
#<PP:0x81a0d10 @stack=[], @genspace=#<Proc:0x81a0cc0>, @nest=[0], @newline="\n",
@buf=#<PrettyPrint::Group...
...il=0>,
@genspace=#<Proc:0x40d0656>,
@nest=[0],
@newline="\n",
@sharing_detection=false,
@stack=[]>


=== 出力のカスタマイズ

あるクラスの pp の出力をカスタマイズしたい場合は、
そのクラスで pretty_print メソッドと pretty_print_cycle メソッ...
...reakable ''
if v.is_a?(String) and v.size > 10
q.pp(v[0..9] + '...')
e
lse
q.pp v
e
nd
e
nd
first = false
}
e
nd
q.breakable
q.text "</hash>"
e
nd

def pretty_print_cycle(q)
q.text(empty? ? '{}' : '{...}')
e
...