Мне нужно реализовать функцию, называемую Eval-математическая строкой в Clojure, который принимает математическую строку в качестве входных данных и оценивает его: (eval-math-string "7+8/2") => 11
Оценить математическую строку в Clojure
Так что я сумел распадаться выражение используя re-seq, и теперь я хочу оценить его с помощью Incanter. Однако у меня есть выражение типа ("7" "+" "8" "/" "2"), но для Incanter требуется выражение типа ($ = 7 + 8/2), где $ = - ключевое слово incanter. Как я могу передать список односимвольных строк в список, включая $ =, чтобы он выполнялся правильно. Если аргументы являются строками, функция не будет работать, но я не могу преобразовать числа +, *,/и т. Д., Поэтому я немного застрял.
Кто-нибудь знает, как я могу это сделать, или если есть лучший способ сделать это?
Что случилось с '(str" ($ = "math-string") ")' где 'math-string' - ваш ввод? – jmargolisvt
Вам нужно использовать Incanter? –
@Piotrek Bzdyl: Нет, совсем нет, если вы знаете лучший способ. – Phylth