如何在clojure中定义属于另一个命名空间的内容?

时间:2011-01-04 22:27:02

标签: clojure

我有一个使用某个命名空间的clj文件,我希望定义属于另一个命名空间的东西,所以我这样做:

(def  other.namespace/name-of-something "value")

:但是当我这样做时,我得到了结果:

java.lang.Exception: Can't refer to qualified var that doesn't exist

有谁知道为什么?

1 个答案:

答案 0 :(得分:12)

首先,您需要通过调用create-ns来确保命名空间存在:

(create-ns 'other.namespace)

然后,您可以使用intern函数向该命名空间添加定义:

(intern 'other.namespace 'name-of-something "value")

您可以通过拨打(ns-interns 'other.namespace)确认此信息。