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