2009-12-11 15 views

答えて

0

どのように同様のことがなければなりませんか?リスト上のClojureのeval作品、そう:

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

私はevalについて知っていますが、私にとってはうまくいかないと思います。私は本当に "文字列"を評価したい –

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

あなたはおそらく今までにこれを実行する必要はありません。マクロとfnはこの種のものを99%の時間で不要にします。これは非常に脆弱で、これらの文字列がユーザーの入力などから来ると危険です。

+1

まあ、私は根本的に危険なことをしたい:REPLのチャットボット。 –

+0

#clojureにクロージャーボットがあります。 –

+8

load-stringは、探しているものとまったく同じです – Abhijith

関連する問題