Ответ 1
(load-string "(+ 1 2)")
Как мне получить что-то похожее на следующее?:
(evaluate-text "(+ 1 2)") ; resolves to 3
(load-string "(+ 1 2)")
user> (eval (read-string "(+ 1 2)"))
3
Вам, вероятно, никогда не понадобится это делать. Макросы и fns делают такие вещи ненужными в 99% случаев. Это довольно хрупкое и может быть небезопасным, если эти строки поступают с пользовательского ввода и т.д.
Как это должно быть? Clojure eval
работает в списках, поэтому:
(eval (list + 1 2)) #=> 3