2
我正在使用M4擴展某些文件的系統,但我在某些情況下遇到擴展問題。用於定義/宏命名(我寧願不如果可能的話改變)的約定是__<name>__
(即雙前端和後端下劃線。)因此,這正常展開:使m4看到宏時宏以宏字符結束與字符串跟隨宏
define(`__ROOT__', `/home/mydir')
...
__ROOT__/bin
給
/home/mydir/bin
但,
define(`__PREFIX__', `App_Mnemonic')
...
__PREFIX___some_service
應該給:
App_Mnemonic_some_service
但給人
__PREFIX___some_service
(即它錯過了擴展)
我認爲在宏的尾部下劃線和底層文本的有效下劃線之間缺少空格是令人困惑的m4。我能做些什麼嗎?我可以使用靜音大括號來分隔宏,例如,像環境變量一樣?真的