m4预处理器BC宏 [英] m4 preprocessor BC macro

查看:178
本文介绍了m4预处理器BC宏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Relative to this question, I'd like to define a BC m4 macro of that function:

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

注意:它只是用bc处理算术运算,例如:syscmd(bc <<< "scale=6; print 1.2*2") => 2.4

NB: It just process an arithmetic operation with bc, for ex: syscmd(bc <<< "scale=6; print 1.2*2") => 2.4

我猜是这样的:

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

但是如何扩展BC参数中的其他变量,例如:

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

BC(ONEPOINTTWO*TWO)
=> 2.4

谢谢

推荐答案

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

然后:

BC(ONEPOINTTWO*TWO)
=> 2.4

这篇关于m4预处理器BC宏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆