Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library prettyprint > class PrettyPrint > group

instance method PrettyPrint#group

group(indent = 0, open_obj = '', close_obj = '', open_width = open_obj.length, close_width = close_obj.length) {...} -> ()

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

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

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

[PARAM] indent:
グループのインデントの深さを指定します。
[PARAM] open_obj:
指定された場合、self.text(open_obj, open_width) がブロックが 実行される前に呼ばれます。開き括弧などを出力するのに使用されます。
[PARAM] close_obj:
指定された場合、self.text(close_obj, close_width) がブロックが 実行された後に呼ばれます。閉じ括弧などを出力するのに使用されます。
[PARAM] open_width:
open_obj のカラムを指定します。
[PARAM] close_width:
close_obj のカラムを指定します。