2009-06-30 52 views
0

我有这样的代码:假如整个字符串太长,我该如何去掉一个子字符串? (M4)

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') 
) 

回答

相关问题