iOS DDMathParser 获取数学表达式的求解步骤
iOS DDMathParser get solving steps of math expression
我正在使用 DDMathParser 为 iOS 构建某种计算器。我想知道如何将像 3+3*4 (After parsing add(3,multiply(3,4)))
这样的表达式 (NSString) 分成单独的步骤:multiply(3,4) add(3,12)
。我更愿意在 NSArray 或其他相对有用的列表对象中获取这些。
Example: add(3,multiply(3,4))
[1] multiply(3,4)
[2] add(3,12)
[3] 15
DDMathParser 作者在这里。
这应该很简单。解析器可以返回 well-formed 表达式树,而不仅仅是数值计算。使用表达式树,你会做这样的事情:
- 找到树中最深的表达式。这是将要评估的第一件事。
- 手动计算该表达式
- 将评估代回树中以代替原始表达式
- 创建整个树的副本以引用它在此时查看的内容。
- 重复直到没有更多要评估的东西。
我正在使用 DDMathParser 为 iOS 构建某种计算器。我想知道如何将像 3+3*4 (After parsing add(3,multiply(3,4)))
这样的表达式 (NSString) 分成单独的步骤:multiply(3,4) add(3,12)
。我更愿意在 NSArray 或其他相对有用的列表对象中获取这些。
Example: add(3,multiply(3,4))
[1] multiply(3,4)
[2] add(3,12)
[3] 15
DDMathParser 作者在这里。
这应该很简单。解析器可以返回 well-formed 表达式树,而不仅仅是数值计算。使用表达式树,你会做这样的事情:
- 找到树中最深的表达式。这是将要评估的第一件事。
- 手动计算该表达式
- 将评估代回树中以代替原始表达式
- 创建整个树的副本以引用它在此时查看的内容。
- 重复直到没有更多要评估的东西。