0

我想定义一个可以定义更多宏的宏:

define(`master_macro',
`foreachq(`slave_macro', `$*',
define(`slave_macro', ...)'

然后我可以使用master_macro将更多类似slave_macro的 s 定义为:

master_macro(m1, m2, m3, ...)

之所以需要这个,是slave_macro因为我写M4宏的时候不知道个数和名字。

4

1 回答 1

0

你所要求的当然可以做到。这是一个例子:

$ cat file
changequote(`[',`]')dnl
define([factory],[dnl
define($1,banana)dnl
define($2,split)dnl
])dnl
factory(hello,world)dnl
hello world
$ m4 file
banana split

我认为问题在于您对未定义宏的使用foreachq

于 2013-03-02T15:07:54.907 回答