我想定义类似于计算方法的东西:
NSString *format = @"%d + 1";
在我的代码中,我想做类似的事情:
int computedNumber = sum(format,5) => 结果应该是 6。
你能给点建议吗?谢谢你
编辑:或类似的东西: NSNumber *no = [NSNumber numberWithFormat:format,5];
我想定义类似于计算方法的东西:
NSString *format = @"%d + 1";
在我的代码中,我想做类似的事情:
int computedNumber = sum(format,5) => 结果应该是 6。
你能给点建议吗?谢谢你
编辑:或类似的东西: NSNumber *no = [NSNumber numberWithFormat:format,5];
这通常是不可能的,但是已经为这个特定的任务编写了解析器,提到了 SO 用户Dave DeLong的DDMathParser。
但是对于什么任务,你真的需要这个?你有+
操作员,然后你执行sum
功能?你不能简单地解析格式末尾的数字,然后执行你想要的操作吗?
使用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.