【发布时间】:2011-09-20 13:52:17
【问题描述】:
我可以使用以下方式加载任意 Clojure 源代码:
(load-string source)
但是,如果没有提供命名空间,它会将代码加载到 clojure.core 命名空间。
例如以下代码:
(load-string "(defn add [a b] (+ a b))")
定义一个函数:
#'clojure.core/add
现在,有没有办法将该代码加载到其他命名空间,最好是调用 load-string 函数的同一个命名空间?
(除了在评估之前将命名空间声明添加到source 字符串。我知道它会解决问题 - 我想知道是否有首选方法)
【问题讨论】:
标签: namespaces clojure