我有一个使用某个命名空间的clj文件,我希望定义属于另一个命名空间的东西,所以我这样做:
(def other.namespace/name-of-something "value")
:但是当我这样做时,我得到了结果:
java.lang.Exception: Can't refer to qualified var that doesn't exist
有谁知道为什么?
答案 0 :(得分:12)
首先,您需要通过调用create-ns
来确保命名空间存在:
(create-ns 'other.namespace)
然后,您可以使用intern
函数向该命名空间添加定义:
(intern 'other.namespace 'name-of-something "value")
您可以通过拨打(ns-interns 'other.namespace)
确认此信息。