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 ライブラリマニュアルを見てください。