Next: text.pager
- ページャーを用いた出力, Previous: text.info
- infoドキュメントアクセス, Up: ライブラリモジュール - ユーティリティ [Contents][Index]
text.multicolumn
- 複数列フォーマットこのモジュールは、単語のリストを複数カラム形式に揃えてフォーマットする手段を提供します。
ls
コマンドの出力のようなものを想像してください。
(display-multicolumn
(string-tokenize "The quick brown fox \
jumps over the lazy dog"))
⇒ prints
The fox the
quick jumps lazy
brown over dog
出力をカスタマイズできる様々なオプションが提供されます。
{text.multicolumn} 文字列のリストstrsの要素を、現在の出力ポートに複数カラム形式に揃えて表示します。 要素中にタブや改行文字があってはなりません。手続きはタブや改行文字を特別扱いしないので、 もし含まれていた場合は出力が乱れます。
カラムの幅は、strs中の文字列のうち最も長いものか、minimum-widthの どちらか大きい方で決まります。minimum-widthのデフォルトは8です。
カラムの幅が決まったら、width文字の幅にいくつのカラムが収まるかが計算されます。
widthのデフォルトは80です。但しmax-columnsが与えられて#f
でなければ、
カラム数はmax-columnを越えません。
order引数はシンボルcolumn
かrow
のどちらかです。
column
の場合(デフォルト)、要素はカラムファースト、つまり最初のカラムを
上から下へ、それから第二カラムを上から下へ、という順に並べられます。
row
の場合はロウファースト、つまり最初の行の左から右、次の行の左から右、
という順に並べられます。
indent引数は、与えられたなら非負の正確な整数でなければなりません。 これが1以上の場合、その数の空白文字が各行の先頭に追加されます。 widthで指定される幅はこのインデントを含んだものとなります。つまり テキストの表示領域の幅はこの引数の分だけ狭くなります。
{text.multicolumn}
この手続きはdisplay-multicolumn
の下請けにあるもので、
テキストツリーのリストを返します (テキストツリーについては
text.tree
- 怠惰なテキスト構築参照)。
各テキストツリーが一行に相当します。改行文字は含まれません。
レイアウトを後から加工したい場合に便利です。
(layout-multicolumn (string-tokenize "The quick brown fox \ jumps over the lazy dog")) ⇒ (("The " "fox " "the") ("quick " "jumps " "lazy") ("brown " "over " "dog"))
註: テキストツリーの中身はバージョンによって異なるかもしれませんが、
tree->string
やwrite-tree
に渡した結果は同じになります。
Next: text.pager
- ページャーを用いた出力, Previous: text.info
- infoドキュメントアクセス, Up: ライブラリモジュール - ユーティリティ [Contents][Index]