¿Cómo voy a conseguir algo similar a lo siguiente ?:¿Cómo se evalúa una cadena como una expresión de clojure?
(evaluate-text "(+ 1 2)") ; resolves to 3
¿Cómo voy a conseguir algo similar a lo siguiente ?:¿Cómo se evalúa una cadena como una expresión de clojure?
(evaluate-text "(+ 1 2)") ; resolves to 3
(load-string "(+ 1 2)")
¿Qué tan similar tiene que ser? eval
obras de clojure en las listas, así que:
(eval (list + 1 2)) #=> 3
user> (eval (read-string "(+ 1 2)"))
3
probablemente no debería necesitar para hacer esto. Las macros y fns hacen innecesario este tipo de cosas el 99% del tiempo. Esto es bastante frágil, y puede no ser seguro si estas cadenas provienen de la entrada del usuario, y así sucesivamente.
Bueno, quiero hacer algo radicalmente inseguro: un chatbot REPL. –
Hay un clojurebot en #clojure. –
load-string hace exactamente lo que está buscando – Abhijith
Sé acerca de eval, pero no creo que funcione para mí. Realmente quiero evaluar una "Cadena" –