Previous: Patsubst, Up: Text handling
format(format-string, ...)
このマクロはC言語の関数printfとよく似た動作をします。
最初の引数は書式指定文字列で‘%’指定を含めることができます。
formatは展開されると書式付の文字列になります。
2, 3の例を使って説明するのが一番でしょう。
define(`foo', `The brown fox jumped over the lazy dog')
format(`The string "%s" is %d characters long', foo, len(foo))
The string "The brown fox jumped over the lazy dog" is 38 characters long
See Loopsで定義されているforloopマクロを使って
表形式の出力をするときはformatを次のように使うことができます。
forloop(`i', 1, 10, `format(`%6d squared is %10d
', i, eval(i**2))')
1 squared is 1
2 squared is 4
3 squared is 9
4 squared is 16
5 squared is 25
6 squared is 36
7 squared is 49
8 squared is 64
9 squared is 81
10 squared is 100
組み込みマクロformatはANSI Cの‘printf’関数をモデルとしており、
次の標準的な‘%’指定をサポートしています: ‘c’, ‘s’, ‘d’,
‘o’, ‘x’, ‘X’, ‘u’, ‘e’, ‘E’, ‘f’。
またフィールド幅と精度指定、モディファイア ‘+’, ‘-’, ‘ ’,
‘0’, ‘#’, ‘h’, ‘l’をサポートしています。
printfの動作について更に詳しいことは
C ライブラリマニュアルを見てください。