iPhone的iOS是否有一个代数计算器的应用程序的expression式分析器?

我正在构build一个应用程序,通过加速度计和陀螺仪输出分析手机的运动。 我很可能会把这个动作作为一组variables来捕捉,这个variables会让应用程序在内部跟踪。

我试图包括一个方法来绘制这些variables和方程涉及这些variables。 我想提供用户调整应用程序显示这些variables的方程式的能力,通过input方程如a + b – c = d,其中a,b,cvariables由我的应用程序计算。 用户可以在该字段中写入方程和graphicsvariables。 自从我用任何语言编写代数parsing器以来,已经有很长时间了, 如果在Objective-C中有一个expression式parsing器,我就可以轻松地插入到我的应用程序中 ,用户可以input类似于+ b – c = d到一个文本字段,应用程序将标记和replace我提供的variables,而不是用户input的占位符。

几个开源选项:

GCMathParser http://www.apptree.net/parser.htm

DDMathParser https://github.com/davedelong/DDMathParser

有一个更简单的方法来做到这一点:)检查NSExpression基础类。 当您将expression式input到聚光灯中时,这是使用相同的类。

NSExpression类参考

在Objective-C中

NSExpression *expression = [NSExpression expressionWithFormat:@"2*4*3" argumentArray:nil]; NSNumber *result = [expression expressionValueWithObject:nil context:nil]; 

在Swift中

 var expression:NSExpression = NSExpression(format: "4 + (3 * 2)", argumentArray: []) var result = expression.expressionValueWithObject(nil, context: nil)