1

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

NSString *format = @"%d + 1";

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

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

你能给点建议吗?谢谢你

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

4

2 回答 2

4

这通常是不可能的,但是已经为这个特定的任务编写了解析器,提到了 SO 用户Dave DeLong的DDMathParser

但是对于什么任务,你真的需要这个?你有+操作员,然后你执行sum功能?你不能简单地解析格式末尾的数字,然后执行你想要的操作吗?

于 2011-02-07T09:47:11.750 回答
1

使用Macro可以成为您问题的替代解决方案。您可以定义macro如下,

#define INC(a) (a + 1)

这里,INCa是用户定义的。你可以给他们任何你想要的名字。编译器将在您的代码中替换(a + 1),无论您在哪里调用INC(a)。例如,考虑以下内容,

int computedNumber = INC(5);

编译后的代码将是,

int computedNumber = (5 + 1); // the result during the execution is 6.
于 2011-02-07T11:43:02.013 回答