2011-02-07 8 views
1

私は計算方法に似た何かを定義したいと思う:Objective-Cの算術演算にフォーマットを与える方法はありますか?

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

int型computedNumber = SUM(フォーマット、5)=>結果は6

あなたはいくつかの提案を与えることができるようになります。私のような何かをしたい私のコードで

? ありがとう

EDIT: またはそれに類似した何か: のNSNumber *なし= [のNSNumber numberWithFormat:フォーマット、5]。

答えて

4

通常は可能ではありませんが、この特定のタスク用のパーサーは、SOユーザーDave DeLongによってDDMathParserと記載されています。

しかし、どのタスクで本当にこれが必要ですか? +演算子があり、次にsum関数を実行しますか?フォーマットの最後にある数字を解析して、希望する操作を実行できませんでしたか?

+0

は、私は、iOSが似た何かができるコードの魔法の一部を持っていることを期待しました。私は文字列を解析し、指定された操作を実行します。それはそれのような何かを行うためにクールだっただろう:) –

1

Macroを使用すると、問題を解決することができます。あなたはは、ユーザー定義されている、

#define INC(a) (a + 1) 
ここ

INCを次のようなmacroを定義することができます。あなたはそれらにあなたが望む任意の名前を与えることができます。コンパイラはコード内で(a + 1)を置き換えます。INC(a)と呼ぶことがあります。たとえば、次の点を考慮し、コードがコンパイルされます後

int computedNumber = INC(5); 

は、

int computedNumber = (5 + 1); // the result during the execution is 6. 
関連する問題