別のキーワード
種類
ライブラリ
- ビルトイン (152)
- abbrev (24)
- coverage (8)
- csv (48)
- etc (12)
- json (36)
- mkmf (24)
- openssl (48)
- pathname (12)
- pp (88)
- prettyprint (12)
- prime (24)
- rake (168)
- ripper (120)
-
ripper
/ filter (48) -
ripper
/ lexer (96) -
ripper
/ sexp (24) -
rubygems
/ requirement (48) - socket (12)
クラス
- Array (16)
- CSV (48)
- Coverage (8)
-
Gem
:: Requirement (48) - Integer (12)
-
JSON
:: State (24) - Method (14)
- Module (12)
- Object (36)
-
OpenSSL
:: BN (24) - PP (60)
- Pathname (12)
- PrettyPrint (12)
- Prime (24)
-
Rake
:: Application (108) -
Rake
:: InvocationChain (24) - Ripper (180)
-
Ripper
:: Filter (36) -
Ripper
:: Lexer (36) -
RubyVM
:: InstructionSequence (24) - Socket (12)
モジュール
- Abbrev (12)
- Enumerable (36)
- Etc (12)
- Kernel (48)
-
OpenSSL
:: ASN1 (12) - Rake (24)
-
Rake
:: TaskManager (12) -
RubyVM
:: AbstractSyntaxTree (30)
キーワード
- << (19)
- >> (7)
- Abbrev (12)
- DOSISH 対応 (12)
- Filter (12)
- Lexer (12)
-
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) - Ripper (12)
-
SCRIPT
_ LINES _ _ (12) - abbrev (12)
-
add
_ loader (12) - append (32)
-
append
_ features (12) - application (12)
- application= (12)
- chunk (12)
-
comma
_ breakable (12) -
compile
_ error (12) -
compile
_ option (12) - coverage (8)
- create (12)
- debug (12)
- decode (12)
- default (12)
-
e
_ option _ supplied (12) - each (24)
-
egrep
_ cpp (24) - encoding (12)
-
end
_ seen? (12) - entries (12)
- filename (24)
- format (12)
- getaddrinfo (12)
- init (12)
- irb (12)
- jj (12)
- lex (24)
- name (12)
- new (36)
- of (10)
-
original
_ dir (12) - parse (82)
-
parse
_ file (10) -
pretty
_ print (36) -
pretty
_ print _ cycle (12) - push (8)
- rakefile (12)
-
rb
_ parser _ append _ print (12) - read (12)
- readlines (12)
-
rexml
/ document (12) -
rexml
/ parsers / ultralightparser (12) - ripper (12)
-
ripper
/ filter (12) -
ripper
/ lexer (12) -
ripper
/ sexp (12) -
ruby 1
. 8 . 5 feature (12) - seplist (12)
- sexp (12)
-
sexp
_ raw (12) -
sharing
_ detection (12) -
sharing
_ detection= (12) - slice (12)
-
slice
_ before (24) - start (8)
- tasks (12)
-
to
_ a (12) -
to
_ bn (12) -
to
_ h (12) -
to
_ hash (12) -
token
_ match (12) - tokenize (24)
-
top
_ level (12) -
top
_ level _ tasks (12) - tsort (12)
-
tty
_ output= (12) - uname (12)
- warn (12)
- warning (12)
- xmlrpc (3)
検索結果
先頭5件
-
pp (38126.0)
-
オブジェクトなどを見やすく出力するためのライブラリです。
...このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得ることが出来ます。
pp ライブラリは、ユーザがあたらしく定......表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。
=== どちらが読みやすいでしょうか?
p による pretty-print されてない出力:
#<PP:0x81a0d10 @stack=[], @genspace=#<Proc:0x81a0cc0>, @nest=[0],......宜挿入します。
PP は PrettyPrint のサブクラスですので、上で PrettyPrint のメソッドとされているものは
PP のメソッドでもあります。
以下は Hash の pretty printing のカスタマイズの例です。
//emlist[][ruby]{
require 'pp'
class Hash
def......などを見やすく出力するためのライブラリです。
pp ライブラリは、ユーザがあたらしく定義したクラスに対しても見やすい表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。......=== どちらが読みやすいでしょうか?
p による pretty-print されてない出力:
#<PP:0x81a0d10 @stack=[], @genspace=#<Proc:0x81a0cc0>, @nest=[0], @newline="\n",
@buf=#<PrettyPrint::Group:0x81a0c98 @group=0, @tail=0, @buf=[#<PrettyPrint::Gro
up:0x81a0ba8 @group=1, @tail=0, @......を適宜挿入します。
PP は PrettyPrint のサブクラスですので、上で PrettyPrint のメソッドとされているものは
PP のメソッドでもあります。
以下は Hash の pretty printing のカスタマイズの例です。
//emlist[][ruby]{
class Hash
def pretty_p... -
PP
. pp(obj , out = $ > , width = 79) -> object (35125.0) -
指定されたオブジェクト obj を出力先 out に幅 width で出力します。 出力先 out を返します。
...す。<< メソッドが定義されている必要があります。
@param width 出力先の幅を指定します。
//emlist[][ruby]{
require 'pp'
str = PP.pp(b], [:a, [[:a, [:a, [:a, :b], [:a, :b],]]], '', 20)
puts str
# =>
# [[:a, :b],
# [:a,
# [[:a,
# [:a, [:a, :b]]],
# [:a, :b]]... -
Kernel
. # pp(*obj) -> object (26163.0) -
指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼ぶことと同等です。
... PP.pp を呼ぶことと同等です。
@param obj 表示したいオブジェクトを指定します。
//emlist[例][ruby]{
require 'pp'
b = [1, 2, 3] * 4
a = [b, b]
a << a
pp a
#=> [[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [...]]
//}
@see PP.pp......ぞれを引数として PP.pp を呼ぶことと同等です。
初回呼び出し時に自動的に pp を require します。
@param obj 表示したいオブジェクトを指定します。
//emlist[例][ruby]{
require 'pp'
b = [1, 2, 3] * 4
a = [b, b]
a << a
pp a
#=> [[1, 2, 3, 1, 2, 3,......1, 2, 3, 1, 2, 3],
# [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [...]]
//}
@see PP.pp... -
PP
. sharing _ detection -> bool (17062.0) -
共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。
...true である場合、
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。
@param boolean 共有検出フラグを true か false で指定します。
//emlist[][ruby]{
require 'pp'
b = [1, 2, 3]
a = [b, b]
pp a......#=> [[1, 2, 3], [1, 2, 3]]
PP.sharing_detection = true
pp a #=> [[1, 2, 3], [...]]
//}... -
PP
. sharing _ detection=(boolean) (17062.0) -
共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。
...true である場合、
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。
@param boolean 共有検出フラグを true か false で指定します。
//emlist[][ruby]{
require 'pp'
b = [1, 2, 3]
a = [b, b]
pp a......#=> [[1, 2, 3], [1, 2, 3]]
PP.sharing_detection = true
pp a #=> [[1, 2, 3], [...]]
//}... -
PP
. sharing _ detection -> bool (17056.0) -
共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。
...
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。
@param boolean 共有検出フラグを true か false で指定します。
//emlist[][ruby]{
b = [1, 2, 3]
a = [b, b]
pp a #=> [[1, 2, 3], [1, 2, 3]]
PP.sh......aring_detection = true
pp a #=> [[1, 2, 3], [...]]
//}... -
PP
. sharing _ detection=(boolean) (17056.0) -
共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。
...
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。
@param boolean 共有検出フラグを true か false で指定します。
//emlist[][ruby]{
b = [1, 2, 3]
a = [b, b]
pp a #=> [[1, 2, 3], [1, 2, 3]]
PP.sh......aring_detection = true
pp a #=> [[1, 2, 3], [...]]
//}... -
PP
# seplist(list , sep = lambda { comma _ breakable } , iter _ method = :each) {|e| . . . } -> () (17036.0) -
リストの各要素を何かで区切りつつ、自身に追加していくために使われます。
...の合間に sep が呼ばれます。
つまり、以下のふたつは同値です。
//emlist[][ruby]{
q.seplist([1,2,3]) {|v| q.pp v }
q.pp 1
q.comma_breakable
q.pp 2
q.comma_breakable
q.pp 3
//}
@param list 自身に追加したい配列を与えます。iter_method を適切に指定すれ......せん。
@param sep 区切りを自身に追加するブロックを与えます。list がイテレートされないなら、
sep は決して呼ばれません。
@param iter_method list をイテレートするメソッドをシンボルで与えます。
@see PP#comma_breakable... -
PP
# comma _ breakable -> () (17016.0) -
以下と等価な働きをするもので簡便のために用意されています。 //emlist[][ruby]{ text ',' breakable //}
...以下と等価な働きをするもので簡便のために用意されています。
//emlist[][ruby]{
text ','
breakable
//}
@see PrettyPrint#text, PrettyPrint#breakable... -
Object
# pretty _ print(pp) -> () (8229.0) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
...
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに
呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。
そのと...... pp に対して表示したい自身の内容を追加して
いかなければいけません。いくつかの組み込みクラスについて、
pp ライブラリはあらかじめ pretty_print メソッドを定義しています。
@param pp PP オブジェクトです。
//emlist[][ruby]{......require 'pp'
class Array
def pretty_print(q)
q.group(1, '[', ']') {
q.seplist(self) {|v|
q.pp v
}
}
end
end
//}
@see Object#pretty_print_cycle, Object#inspect, PrettyPrint#text, PrettyPrint#group, PrettyPrint#breakable......class Array
def pretty_print(q)
q.group(1, '[', ']') {
q.seplist(self) {|v|
q.pp v
}
}
end
end
//}
@see Object#pretty_print_cycle, Object#inspect, PrettyPrint#text, PrettyPrint#group, PrettyPrint#breakable... -
Object
# pretty _ print _ cycle(pp) -> () (8125.0) -
プリティプリント時にオブジェクトの循環参照が検出された場合、 Object#pretty_print の代わりに呼ばれるメソッドです。
...わりに呼ばれるメソッドです。
あるクラスの pp の出力をカスタマイズしたい場合は、
このメソッドも再定義する必要があります。
@param pp PP オブジェクトです。
//emlist[][ruby]{
class Array
def pretty_print_cycle(q)
q.text(empty? ?...