Clojure - 为什么load-string在这种情况下不起作用?

时间:2012-06-17 08:03:17

标签: java clojure

(load-string s)根据其文件:

“按顺序读取并评估字符串”

中包含的表单集

为什么它在以下代码中不起作用?

(let [fun #(+ 1 2)]
     (load-string "(fun)"))

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你无法从load-string访问词法环境,所以即使这样也行不通:

(let [fun 12]
     (load-string "(+ 1 fun)"))

只有绑定值有效,请参见此处:

Dynamic code with clojure