次: Arguments, 前: Definitions, 上: Definitions
通常はマクロを定義したり再定義するときは、
組み込みマクロdefine
を使います。
define(name [, expansion])
これはnameがexpansionに展開されるように定義します。 もしexpansionが与えられなかったときは、空文字列だと見なされます。
define
は展開されると消滅します。
次の例では、マクロfooが`Hello World.'に展開されるように 定義しています。
define(`foo', `Hello world.') => foo =>Hello world.
出力に空行がある理由は、マクロ定義の直後にある改行文字が
定義の一部分ではないので、出力にそのままコピーされるためです。
これはdnl
マクロを使うことで避けることができます。
詳しくはSee Dnlを参照してください。
マクロdefine
は引数を与えたときだけ認識されます。