如何使用模运算符NSExpression?(How to use modulus operator

2019-10-22 07:04发布

如何使用模运算符NSExpression? 如果我使用

NSExpression *exp = [NSExpression expressionWithFormat:@"3%2"];

我发现了一个错误 - ***终止应用程序由于未捕获的异常“NSInvalidArgumentException”,理由是:“无法解析格式字符串‘3%2 == 1’”。

谁能解释如何正确使用模运算符NSExpression? 一个例子是伟大的!

Answer 1:

NSExpression具有用于计算方程像模量的功能特征。 这里是你将如何执行你问的方程的例子:

NSExpression *expression = [NSExpression expressionForFunction:@"modulus:by:" arguments:@[[NSExpression expressionForConstantValue:@3], [NSExpression expressionForConstantValue:@2]]];

id value = [expression expressionValueWithObject:nil context:nil];

NSLog(@"%@", value); // Output is 1

这里是一个包含你可以用NSExpression使用功能的多个列表出现StackOverflow帖子的链接。



Answer 2:

您可以使用+[NSExpression expressionForFunction:arguments:] ,如@Sean麦当劳建议,或者如果您发现太详细,您可以使用语法格式字符串中预定义的函数:

NSExpression *exp = [NSExpression expressionWithFormat:@"modulus:by:(3, 2)"];


文章来源: How to use modulus operator with NSExpression?