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