group(indent = 0, open_obj = '', close_obj = '', open_width = open_obj.length, close_width = close_obj.length) {...} -> ()
[permalink][rdoc][edit]-
与えられたブロックを実行します。ブロック内で自身に追加される文字列やオブジェクトは、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 のカラムを指定します。