Есть ли способ придать формат арифметическим вычислениям в Objective-C? - PullRequest
1 голос
/ 07 февраля 2011

Я хочу определить что-то похожее на метод вычисления:

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

В моем коде я хочу сделать что-то вроде:

int computedNumber = sum (format, 5) => результат должен быть 6.

Не могли бы вы дать несколько предложений? спасибо

EDIT: или что-то похожее на: NSNumber * no = [NSNumber numberWithFormat: format, 5];

Ответы [ 2 ]

4 голосов
/ 07 февраля 2011

Обычно это невозможно, однако для этой конкретной задачи были написаны парсеры, упомянуть DDMathParser пользователем SO Дейв Делонг .

Но для чегозадание тебе это действительно нужно?У вас есть оператор +, а затем вы выполняете функцию sum?Не могли бы вы просто разобрать номер в конце формата, а затем выполнить нужную операцию?

1 голос
/ 07 февраля 2011

Использование 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.
...