作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 DDMathParser
来解析公式并计算结果,效果很好。
问题:
如果替换字典中不存在变量,是否可以将变量设置为默认值?
示例:
我的公式 $a + $b
需要两个变量 $a
和 $b
。但是,我的替换字典仅包含变量键 a
的值(例如 1),但不包含键 b
。
将变量 b
定义为默认值 0
并避免解析错误消息 "unable to resolve variable"
的首选方法是什么?
谢谢!
我使用 DDMathParser
的方式是遍历多个公式并为每个公式提供相同的变量替换字典。有时,我没有变量的值:在这种情况下,变量(键和值)不会包含在字典中。
根据公式本身,如果其中一个变量不存在,我想返回 nil
作为公式的结果(例如,我没有 profit
的值,而公式是 $profit / $revenue
,我想返回nil
我可以稍后将其转换为 NSString
的 n/a
)或将变量设置为 0
(如果字典中不存在该变量)(例如,对于像 $profitA + $profitB + $profitC
这样的公式,我想假设任何缺失变量为 0
($profitA
或 567915 或 567915 $profitB
)。
出于这个原因,我不能使用通用解决方案,它总是返回 $profitC
或 0
,但需要将此逻辑放入公式中(例如作为自定义函数)。
最佳答案
首先用适当的默认值初始化替换字典,然后用任何实际值更新它。
关于ios - DDMathParser : How to define default values for variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402266/
我是一名优秀的程序员,十分优秀!