首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DDMathParser:包含if语句的解析公式

DDMathParser:包含if语句的解析公式
EN

Stack Overflow用户
提问于 2012-12-18 14:51:02
回答 1查看 261关注 0票数 0

我已经开始在我的当前项目中实现DDMathParser,我使用这个框架结合字典中的变量(变量替换)计算公式的结果。

是否可以在公式中使用类似if语句的内容,例如"if ($a > 0) { $b / $c } else {$b * 1000}“?

我假设if语句可以以与新函数类似的方式创建(如DDMathParser维基中所描述的)。如果是这样的话,如果有人能教我怎么做,我会很高兴。

关于如何在if中使用DDMathParser语句的任何想法或提示

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-18 17:12:43

DDMathParser作者这里..。

这是不可能的,但不是因为你认为的原因。DDMathParser可以很好地解析if。这是它会有问题的花括号。你也许可以:

代码语言:javascript
复制
if ($a > 0) ($b / $c) else ($b * 1000)

这将被分析为:

代码语言:javascript
复制
if($a > 0) * ($b / $c) * else($b *1000)

它是NSLogged,即:

代码语言:javascript
复制
multiply(multiply(if(l_gt($a,0)),divide($b,$c)),else(multiply($b,1000)))

所以,你可以这样做,但如果你自己尝试去处理范围的话,那将是一件非常痛苦的事情。我认为,将字符串预解析为多个部分可能更容易一些:

代码语言:javascript
复制
if ($a > 0) => if(l_get($a, 0))
($b / $c) => divide($b, $c)
($b * 1000) => multiply($b, 1000)

然后自己处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13935508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档