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 のカラムを指定します。
class PrettyPrint