有没有办法在Objective-C中为算术计算提供格式?

时间:2011-02-07 09:42:33

标签: iphone objective-c ios formatter arithmetic-expressions

我想定义类似于计算方法的东西:

  

NSString * format = @“%d + 1”;

在我的代码中,我想做类似的事情:

  

int computedNumber = sum(format,5)=>结果应该是6。

你能提出一些建议吗? 谢谢

编辑: 或类似的东西: NSNumber * no = [NSNumber numberWithFormat:format,5];

2 个答案:

答案 0 :(得分:4)

通常不可能,但是针对此特定任务已编写解析器,SO用户DDMathParser提及Dave DeLong

但是你真的需要什么呢?您有+运算符,然后执行sum函数?难道你不能简单地解析格式末尾的数字,然后执行你想要的操作吗?

答案 1 :(得分:1)

使用Macro可以解决您的问题。您可以像以下一样定义macro

#define INC(a) (a + 1)

此处, INC a 是用户定义的。你可以给他们任何你想要的名字。编译器会在您的代码中替换(a + 1),只要您调用 INC(a)。例如,请考虑以下内容,

int computedNumber = INC(5);

编译完成后,代码将是

int computedNumber = (5 + 1); // the result during the execution is 6.