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