如何将导入添加到“eval”编辑的clojure代码中?

时间:2010-12-26 13:33:57

标签: clojure

我想以交互方式评估用户输入的一些clojure代码,我想“使用”某些名称空间并“导入”某些Java类。我最终使用:

运行代码
(defn execute-command [string-command]
    let [
        code-with-context  (add-code-context string-command)
        result             (eval(read-string code-with-context))
        ]

        result
)

我的问题是如何编写“add-code-context”以在“string-command”中为代码添加所需的上下文?

1 个答案:

答案 0 :(得分:3)

你不必。您可以使用任何“使用”d或“导入”ed命名空间/类,例如

(require '[clojure.set :as set])
(-> "(set/union #{1} #{2})" read-string eval)
; => #{1 2}