2009-12-11 7 views

risposta

0

Come simile ha a che essere? eval opere di Clojure sulle liste, in modo da:

(eval (list + 1 2)) #=> 3 
+0

Conosco la valutazione, ma non penso che funzioni per me. Voglio davvero valutare una "stringa" –

31
user> (eval (read-string "(+ 1 2)")) 
3 

probabilmente non dovrebbe mai bisogno di fare questo. Macro e fns rendono questo tipo di cose inutili il 99% delle volte. Questo è abbastanza fragile e può essere pericoloso se queste stringhe provengono dall'input dell'utente e così via.

+1

Beh, voglio fare qualcosa di radicalmente pericoloso: un chatbot REPL. –

+0

C'è un clojurebot in #clojure. –

+8

load-string fa esattamente quello che sta cercando – Abhijith

Problemi correlati