如何在m4中记忆一个宏参数?

时间:2015-10-11 18:22:52

标签: macros m4

我想记住m4宏调用的参数,以便进一步使用,即使用另一个宏符号作为一种变量,我可以在以后回忆起这个参数。

但是,我的m4会话并未按预期进行:

define(`A',define(`B',$1))
⇒ 
A(17)
⇒ 
B
⇒ 
defn(`B')
⇒$1

如果B的最后一次调用是A,我只想将A(17)的值解析为17。怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

刚刚找到它:

define(`A',`define(B,$1)')

会做到这一点。通过引用,定义的解决方案被推迟到实际调用“A'。