2011-06-08 67 views
1

我試圖創建宏用於刪除M4字符串的最後一個字符,我試圖做一些事情,如:如何砍一個字符串的最後一個字符在M4

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

這是一個最接近工作的人,但我仍然無法做到。我現在需要一些幫助。

回答

1

不知道它這是做到這一點的最佳方式,但它的工作原理:

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

最近,我寫這樣一個宏,什麼工作對我來說是:

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

YMMV。

相關問題