Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想定义一个可以定义更多宏的宏:
define(`master_macro', `foreachq(`slave_macro', `$*', define(`slave_macro', ...)'
然后我可以使用master_macro将更多类似slave_macro的 s 定义为:
master_macro
slave_macro
master_macro(m1, m2, m3, ...)
之所以需要这个,是slave_macro因为我写M4宏的时候不知道个数和名字。
你所要求的当然可以做到。这是一个例子:
$ 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。
foreachq