我想定义类似于计算方法的东西:
NSString * format = @“%d + 1”;
在我的代码中,我想做类似的事情:
你能提出一些建议吗? 谢谢int computedNumber = sum(format,5)=>结果应该是6。
编辑: 或类似的东西: NSNumber * no = [NSNumber numberWithFormat:format,5];
答案 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.