String 如果总字符串太长,如何剥离子字符串?(m4)

String 如果总字符串太长,如何剥离子字符串?(m4),string,m4,String,M4,我有这样的代码: define(`DOSPACE',`................................... ......................... ................`'ifelse(eval(len(`Space: $2: $3')>60),1,`...'substr($3,eval((60-len(`Space: $2: $3')-7)*-1),$3) ................... ...................') 也就

我有这样的代码:

define(`DOSPACE',`...................................
.........................
................`'ifelse(eval(len(`Space: $2: $3')>60),1,`...'substr($3,eval((60-len(`Space: $2: $3')-7)*-1),$3)
...................
...................')
也就是说,如果总字符串太长(超过60个字符),我想从$3的左边去掉足够多的字符(+3)以使其适合,并添加一个“…”以显示缺少的字符

我不知所措。我确信这要么是报价问题,要么是“执行时间”问题(即2美元和3美元不是我认为的那样…)

使事情复杂化:这个宏正在另一个宏中调用(我忘了…)

那怎么办

define(`DOGROWTH',dnl
DOSPACE(`$1',`$2',`/path/to/some/$3/where')
DOSPACE(`$1',`$2',`/path/to/some/$3/else')
)