M4预处理BC宏(m4 preprocessor BC macro)

2019-10-20 06:57发布

对于这个问题 ,我想定义一个BC该函数的m4宏:

syscmd(bc <<< "scale=6; print ARITHMETIC_OPERATION_STRING")

NB:它只是处理与算术运算bc ,用于离: syscmd(bc <<< "scale=6; print 1.2*2") => 2.4

我想是这样的:

define(`BC', syscmd(bc <<< "scale=6; print $1"))

但如何扩大在不列颠哥伦比亚省的说法 ,如其他变量

define(`ONEPOINTTWO', `1.2')
define(`TWO', `2')

BC(ONEPOINTTWO*TWO)
=> 2.4

谢谢

Answer 1:

define(`BC', `syscmd(echo "scale=6; print $1" | bc)')

然后:

BC(ONEPOINTTWO*TWO)
=> 2.4


文章来源: m4 preprocessor BC macro
标签: m4