Я попробовал следующий код
define(`$TITLE', `my title')
This is my $TITLE.
но текст остается неизменным, когда я вызываю его с помощью m4
.
Кажется, это проблема $
. Должен ли я избежать этого?
EDIT:
Я обнаружил, что
define(`$TITLE', `my title')
This is my indir(`$TITLE')
работает, но есть ли лучший способ сделать это?
Кроме того, такое имя макроса указано как нестандартное , где я могу найти список с таким именем?
Руководство по GNU M4 1.4.18, раздел 5.1 Определение макроса
Как расширение GNU, первый аргумент для определения не должен быть простым словом. Это может быть любая текстовая строка, даже пустая строка. Макрос с нестандартным именем не может быть вызван обычным способом, так как имя не распознается. На него могут ссылаться только встроенные команды indir (см. Indir) и defn (см. Defn).