るりまサーチ (Ruby 3.1)

最速Rubyリファレンスマニュアル検索!
26件ヒット [1-26件を表示] (0.012秒)
トップページ > バージョン:3.1[x] > クエリ:PrettyPrint[x]

別のキーワード

  1. prettyprint new
  2. prettyprint text
  3. prettyprint breakable
  4. prettyprint nest
  5. prettyprint flush

検索結果

PrettyPrint (114055.0)

pretty printing アルゴリズムのためのクラスです。 改行の位置を探し、きれいなインデントを施します。

pretty printing アルゴリズムのためのクラスです。
改行の位置を探し、きれいなインデントを施します。

デフォルトでは、このクラスは文字列を扱います。
また、文字1バイトが出力幅の中で1カラムを占めると仮定しています。
しかし、以下のメソッドに対して適切な引数を与えることで、
そうでない場合にも利用できます。
* PrettyPrint.new: 出力バッファ、空白の生成をするブロックや改行オブジェクトを設定できます。
* PrettyPrint#text: 幅を設定できます。
* PrettyPrint#breakable
ですので、このクラスは以下のようなことにも応用が...

PrettyPrint.new(output = '', maxwidth = 79, newline = "\n") -> PrettyPrint (63499.0)

pretty printing のためのバッファを生成します。 output は出力先です。output は << メソッドを持っていなければなりません。 << メソッドには * PrettyPrint#text の第1引数 obj * PrettyPrint#breakable の第1引数 sep * PrettyPrint.new の第3引数 newline * PrettyPrint.new に与えたブロックを評価した結果 のどれかひとつが引数として与えられます。

pretty printing のためのバッファを生成します。
output は出力先です。output は << メソッドを持っていなければなりません。
<< メソッドには
* PrettyPrint#text の第1引数 obj
* PrettyPrint#breakable の第1引数 sep
* PrettyPrint.new の第3引数 newline
* PrettyPrint.new に与えたブロックを評価した結果
のどれかひとつが引数として与えられます。

ブロックが指定された場合は、空白を生成するために使われます。ブロックは、生成したい空白の幅を表す整数を引数として...

PrettyPrint.new(output = &#39;&#39;, maxwidth = 79, newline = "\n") {|width| ...} -> PrettyPrint (63499.0)

pretty printing のためのバッファを生成します。 output は出力先です。output は << メソッドを持っていなければなりません。 << メソッドには * PrettyPrint#text の第1引数 obj * PrettyPrint#breakable の第1引数 sep * PrettyPrint.new の第3引数 newline * PrettyPrint.new に与えたブロックを評価した結果 のどれかひとつが引数として与えられます。

pretty printing のためのバッファを生成します。
output は出力先です。output は << メソッドを持っていなければなりません。
<< メソッドには
* PrettyPrint#text の第1引数 obj
* PrettyPrint#breakable の第1引数 sep
* PrettyPrint.new の第3引数 newline
* PrettyPrint.new に与えたブロックを評価した結果
のどれかひとつが引数として与えられます。

ブロックが指定された場合は、空白を生成するために使われます。ブロックは、生成したい空白の幅を表す整数を引数として...

PrettyPrint.singleline_format(output = &#39;&#39;, maxwidth = 79, newline = "\n", genspace = lambda{|n| &#39; &#39; * n}) {|pp| ...} -> object (63097.0)

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 PrettyPrint.format に似ていますが、改行しません。

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。
PrettyPrint.format に似ていますが、改行しません。

引数 maxwidth, newline と genspace は無視されます。ブロック中の breakable の実行は、
改行せずに text の実行であるかのように扱います。

@param output 出力先を指定します。output は << メソッドを持っていなければなりません。

@param maxwidth 無視されます。

@param newline 無視されます。

@param genspace 無視されます...

PrettyPrint.format(output = &#39;&#39;, maxwidth = 79, newline = "\n", genspace = lambda{|n| &#39; &#39; * n}) {|pp| ...} -> object (63085.0)

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 与えられた output を返します。

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。
与えられた output を返します。

以下と同じ働きをするもので簡便のために用意されています。

//emlist[][ruby]{
require 'prettyprint'

begin
pp = PrettyPrint.new(output, maxwidth, newline, &genspace)
...
pp.flush
output
end
//}

@param output 出力先を指定します。output は << メソッドを持っていなければなりません。

@param...

絞り込み条件を変える

PrettyPrint#breakable(sep = &#39; &#39;) -> () (63001.0)

「必要ならここで改行出来る」ということを自身に通知します。 もしその位置で改行されなければ、width カラムのテキスト sep が出力の際にそこに挿入されます。

「必要ならここで改行出来る」ということを自身に通知します。
もしその位置で改行されなければ、width カラムのテキスト sep が出力の際にそこに挿入されます。

@param sep 改行が起きなかった場合に挿入されるテキストを文字列で指定します。

@param width テキスト sep は width カラムであると仮定されます。指定されなければ、
sep.length が利用されます。例えば sep が多バイト文字の際に指定する必要があるかも知れません。

PrettyPrint#breakable(sep, width = sep.length) -> () (63001.0)

「必要ならここで改行出来る」ということを自身に通知します。 もしその位置で改行されなければ、width カラムのテキスト sep が出力の際にそこに挿入されます。

「必要ならここで改行出来る」ということを自身に通知します。
もしその位置で改行されなければ、width カラムのテキスト sep が出力の際にそこに挿入されます。

@param sep 改行が起きなかった場合に挿入されるテキストを文字列で指定します。

@param width テキスト sep は width カラムであると仮定されます。指定されなければ、
sep.length が利用されます。例えば sep が多バイト文字の際に指定する必要があるかも知れません。

PrettyPrint#flush -> () (63001.0)

バッファされたデータを出力します。

バッファされたデータを出力します。

PrettyPrint#genspace -> Proc (63001.0)

空白を生成する Proc を返します。

空白を生成する Proc を返します。

PrettyPrint#group(indent = 0, open_obj = &#39;&#39;, close_obj = &#39;&#39;, open_width = open_obj.length, close_width = close_obj.length) {...} -> () (63001.0)

与えられたブロックを実行します。 ブロック内で自身に追加される文字列やオブジェクトは、1行にまとめて表示しても よい同じグループに属すると仮定されます。

与えられたブロックを実行します。
ブロック内で自身に追加される文字列やオブジェクトは、1行にまとめて表示しても
よい同じグループに属すると仮定されます。

もう少し詳しく説明します。pretty printing アルゴリズムはインデントと改行を、
ツリー構造を作ることによって決定します。そして、group メソッドは子ノードの作成と
子ノードのインデントの深さの決定を担当します。

同じノード内で呼ばれた breakable は、改行するならば全て同時に改行します。

@param indent グループのインデントの深さを指定します。

@param open_obj 指定された場合、s...

絞り込み条件を変える

PrettyPrint#indent -> Integer (63001.0)

現在のインデントの深さを返します。

現在のインデントの深さを返します。

PrettyPrint#maxwidth -> Integer (63001.0)

自身の幅を返します。

自身の幅を返します。

PrettyPrint#nest(indent) {...} -> () (63001.0)

自身の現在のインデントを indent だけ増加させてから、ブロックを実行し、元に戻します。

自身の現在のインデントを indent だけ増加させてから、ブロックを実行し、元に戻します。

@param indent インデントの増加分を整数で指定します。

PrettyPrint#newline -> String (63001.0)

自身の改行文字を返します。

自身の改行文字を返します。

PrettyPrint#output -> object (63001.0)

自身の output を返します。

自身の output を返します。

絞り込み条件を変える

PrettyPrint#text(obj) -> () (63001.0)

obj を width カラムのテキストとして自身に追加します。

obj を width カラムのテキストとして自身に追加します。

@param obj 自身に追加するテキストを文字列で指定します。

@param width obj のカラムを指定します。指定されなかった場合、obj.length が利用されます。

PrettyPrint#text(obj, width = obj.length) -> () (63001.0)

obj を width カラムのテキストとして自身に追加します。

obj を width カラムのテキストとして自身に追加します。

@param obj 自身に追加するテキストを文字列で指定します。

@param width obj のカラムを指定します。指定されなかった場合、obj.length が利用されます。

prettyprint (18109.0)

pretty printing アルゴリズムのためのライブラリです。

pretty printing アルゴリズムのためのライブラリです。

=== 使い方

pretty printing アルゴリズムは読みやすいインデントと改行を決定するためのアルゴリズムです。
インデントと改行はユーザによって与えられたツリー構造から決定されます。
つまりユーザは以下のように表示したい内容を保持したツリーを作成する必要があります。

* PrettyPrint.new でバッファを生成します。このとき、バッファの幅と改行文字を指定します。
* PrettyPrint#text を使って、文字列を適宜 挿入します。
* PrettyPrint#group を使って子ノー...

pp (433.0)

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

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

pp ライブラリは、ユーザがあたらしく定義したクラスに対しても見やすい表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。

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

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

NEWS for Ruby 3.1.0 (73.0)

NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 3.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...
...{
foo[0] = bar
//}

* 次の評価順序になります。

//emlist{
1. `foo`
2. `bar`
3. `[]=` called on the result of `foo`
//}

* Ruby 3.1.0より前は、多重代入の評価順序が上記のようではありませんでした。このコードでは、

//emlist[][ruby]{
foo[0], b...
...//emlist{
1. `a`
2. `b`
3. `foo`
4. `[]=` called on the result of `foo`
5. `bar`
6. `baz=` called on the result of `bar`
//}

* Ruby 3.1.0から単一代入と評価順序が一致するようになり、左が右より先に評価されます。

//emlist{
1. `foo`
2. `bar`
3....

絞り込み条件を変える

Object#pretty_print(pp) -> () (55.0)

PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。

PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに
呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。

あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。
そのとき pretty_print メソッドは指定された pp に対して表示したい自身の内容を追加して
いかなければいけません。いくつかの組み込みクラスについて、
pp ライブラリはあらかじめ pretty_print メソッドを定義しています。

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

//emlist[][ruby]{
class Array
...

NEWS for Ruby 2.2.0 (37.0)

NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.1.0 以降の変更

=== 言語仕様の変更

* nil/true/false
* nil/true/false はフリーズされました 8923

* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと...

PP#comma_breakable -> () (37.0)

以下と等価な働きをするもので簡便のために用意されています。 //emlist[][ruby]{ text ',' breakable //}

以下と等価な働きをするもので簡便のために用意されています。
//emlist[][ruby]{
text ','
breakable
//}

@see PrettyPrint#text, PrettyPrint#breakable

ruby 1.8.2 feature (37.0)

ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。

ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/...

NEWS for Ruby 3.0.0 (19.0)

NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...r
* Update to Bundler 2.2.3
* CGI
* Update to 0.2.0
* This version is Ractor compatible.
* CSV
* Update to CSV 3.1.9
* Date
* Update to Date 3.1.1
* This version is Ractor compatible.
* Digest
* Update to Digest 3.0.0
* This version is Ractor compatible.
* E...

絞り込み条件を変える

PP#object_group(obj) { ... } -> () (19.0)

以下と等価な働きをするもので簡便のために用意されています。 group(1, '#<' + obj.class.name, '>') { ... }

以下と等価な働きをするもので簡便のために用意されています。
group(1, '#<' + obj.class.name, '>') { ... }

@param obj 表示したいオブジェクトを指定します。

@see PrettyPrint#group