2009-12-11 89 views

回答

0

何其相似,難道一定是? Clojure的eval作品的名單,所以:

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

我知道eval,但我不認爲它適用於我。我真的想評估一個「字符串」 – 2009-12-11 02:35:40

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

你可能不應該在任何時候需要做到這一點。在99%的時間裏,宏和fns使這種事情變得不必要。這非常脆弱,如果這些字符串來自用戶輸入,則可能不安全,等等。

+1

嗯,我想做一些根本不安全的事情:一個REPL chatbot。 – 2009-12-11 15:43:50

+0

#clojure中有一個clojurebot。 – 2009-12-13 19:01:29

+8

加載字符串正是他正在尋找的 – Abhijith 2009-12-24 17:39:41