Таким образом, с помощью этого простого ввода
define(foo, len($1)) foo(abcdef)
Я получаю в качестве вывода:
2
Как я могу заставить это напечатать 5
вместо этого? Я не могу придумать какую-либо комбинацию кавычек, которая заставляет len()
фактически получать значение $1
, abcdef
вместо буквальной строки `$1'
.
Редактировать 1. Фактически рассматриваемый код выглядит примерно так:
define(`FILE', `#' /!\ $1 /!\
`#' ====substr(==============================,0,len($1))====)dnl
FILE(`UTILITY.ASM')