1

我正在尝试创建一个用于删除 m4 中字符串的最后一个字符的宏,我正在尝试执行以下操作:

define(`delete_last',substr(`$1',`0',eval(``len($1)'-1')))dnl

这是最接近工作的一个,但我仍然无法正确实现它。我现在需要一些帮助。

4

2 回答 2

1

不知道这是最好的方法,但它有效:

define(`__count_m1',`eval($1 - $2)')dnl
define(`__del_last3',`substr($1,`0',__count_m1(len($1),3))')dnl
于 2011-06-15T10:08:22.893 回答
1

我最近不得不写这样一个宏,对我有用的是:

define(`CHOMP',`substr($1,0,eval(len($1)-1))')dnl

YMMV。

于 2012-11-23T18:38:55.307 回答