Как нарезать последний символ строки в M4 - PullRequest
1 голос
/ 08 июня 2011

Я пытаюсь создать макрос для удаления последнего символа строки в m4, я пытаюсь сделать что-то вроде:

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

Это тот, который был ближе всего к работе, новсе же я не могу добиться этого должным образом.Мне нужна помощь сейчас.

Ответы [ 2 ]

1 голос
/ 23 ноября 2012

Мне недавно пришлось написать такой макрос, который работал для меня:

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

YMMV.

1 голос
/ 15 июня 2011

Не знаю, это оптимальный способ сделать это, но он работает:

define(`__count_m1',`eval($1 - $2)')dnl
define(`__del_last3',`substr($1,`0',__count_m1(len($1),3))')dnl
...