Next: , Previous: Redefined M4 Macros, Up: Programming in M4sugar


8.3.2 マクロの評価

以下のマクロは,引用符のレベルを追加したり削除したりすることで,評価の順 序全体を制御するものです.それらは,ハードコアなM4プログラマに対して意味 があります.

— Macro: m4_dquote (arg1, ...)

引用符で囲まれたリストを引用符で囲んだ引数を返します.

— Macro: m4_quote (arg1, ...)

単一の要素として引数を返し,すなわち,一つの引用符の組でそれらを囲みます.

以下の例は,(i)これらの例を使用していない,(ii)m4_quoteを使用して いる,(iii)m4_dquoteを使用している,といったそれぞれの間の差を強 調することを目的としています.

     $ cat example.m4
     # Overquote, so that quotes are visible.
     m4_define([show], [$[]1 = [$1], $[]@ = [$@]])
     m4_divert(0)dnl
     show(a, b)
     show(m4_quote(a, b))
     show(m4_dquote(a, b))
     $ autom4te -l m4sugar example.m4
     $1 = a, $@ = [a],[b]
     $1 = a,b, $@ = [a,b]
     $1 = [a],[b], $@ = [[a],[b]]