0

我有一个NSString

n + (n - m)

我可以使用 DDMathParser 创建表达式对象吗?

例如,我有基本表达式 n + (n - m),但我需要能够将基本表达式 n + (n - m) 与用户表达式 (n - m) + n 进行比较,这通常也是相同的。

或者是否已经制定了解决方案如何比较两个 NSString 考虑符号和大括号?

所以我的意思是我可以例如用一个字符串初始化两个表达式,然后使用某种方法像 Expression1 = Expression2 一样比较它。

这是表达式如何在解析器中查看的示例

在此处输入图像描述

所以这是同一个结构,我们可以使用左右节点进行比较。树的。我很高兴找到这个将字符串解析为表达式树的解决方案。我认为这个解决方案已经完成。

4

1 回答 1

1

是的,您可以使用 DDMathParser 来执行此操作:

NSString *string = @"5 + (5 - 3)";
NSError *error = nil;
DDExpression *expression = [DDExpression expressionFromString:string error:&error];

if (expression) {
  NSLog(@"%@", expression)
} else {
  NSLog(@"%@", error);
}

DDMathParser 确实对表达式重写有一些(基本的)支持,但除此之外,您可以自己比较表达式树。

于 2012-12-18T17:45:53.733 回答