-3

与えられた文字列:

"10 + 20 - 5 * 7 + (20 / 5)"

これを評価できるパーサーはありますか、それとも自分で作成する必要がありますか?

4

1 に答える 1

1

newacctによるこの投稿をご覧ください

NSString *equation = @"10 + 20 - 5 * 7 + (20 / 5)";

// dummy predicate that contains our expression
NSPredicate *pred = [NSPredicate predicateWithFormat:
                      [equation stringByAppendingString:@" == 42"]];//42 is just a rightExpression to make it an equation
NSExpression *exp = [pred leftExpression];
NSNumber *result = [(NSComparisonPredicate *)exp expressionValueWithObject:nil context:nil];
NSLog(@"%@", result); // logs "-1"
于 2012-09-10T13:29:46.617 に答える