ios中的算术和条件表达式计算器(包含字符串和值)
我有三个例子需要计算表达式,例子如下ios中的算术和条件表达式计算器(包含字符串和值),ios,objective-c,iphone,Ios,Objective C,Iphone,我有三个例子需要计算表达式,例子如下 (x+y+30) ((p==“好”)和&(q==“早上”)| |(r==“10:00”) ((w==“夜间”)和((a+b+30)>100)) 这里x,y,a和b是整数,p,q,r和w是字符串 对于#1,我使用了DDMathParser库,但是对于#2和3,我们不能使用,因为DDMathParser不允许字符串求值 需求是对上述表达式进行求值的任何库或示例源代码,其中包含字符串和值 请帮我评估一下 感谢您的帮助。所有这些都可以使用NSPredicate或NS
(x+y+30)
((p==“好”)和&(q==“早上”)| |(r==“10:00”)
((w==“夜间”)和((a+b+30)>100))
x
,y
,a
和b
是整数,p
,q
,r
和w
是字符串
对于#1,我使用了DDMathParser库,但是对于#2和3,我们不能使用,因为DDMathParser不允许字符串求值
需求是对上述表达式进行求值的任何库或示例源代码,其中包含字符串和值
请帮我评估一下
感谢您的帮助。所有这些都可以使用
NSPredicate
或NSExpression
进行解析。您可以使用@try…@catch
语句尝试通过+[NSPredicate predicateWithFormat:][/code>或+[NSExpression expression withformat:][/code>运行它们,并查看哪个语句有效
完成后,您可以根据NSDictionary
对它们进行评估,并查看结果。例如:
NSString *formula = @"((w == \"Night\") && ( (a + b +30) >100 ) )";
NSPredicate *p = [NSPredicate predicateWithFormat:formula];
NSDictionary *object = @{
@"w": @"Night",
@"a": @42,
@"b": @33
};
BOOL passes = [p evaluateWithObject:object];
NSLog(@"passes: %@", passes ? @"yes" : @"no"); // logs "yes"
如果([p IseQualtString:@“Good”]&([q IseQualtString:@“Morning”]))| |([r IseQualtString:@“10:00”]){}谢谢Dave。我还有一个问题,NSString*formula=@“form\u component\u 1?小写字母?包含(\“boa\”)。其中,form_component_1作为输入变量。我不能断言这一点。请帮我评估一下。