1

計算方法に似たものを定義したい:

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

私のコードでは、次のようなことをしたい:

int computerNumber = 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はユーザー定義です。好きな名前を付けることができます。コンパイラは、 INC(a)を呼び出すたびに、コード内で(a + 1)を置き換えます。たとえば、次のことを考慮してください。

int computedNumber = INC(5);

コンパイル後、コードは次のようになります。

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