Как я могу определить что-то, принадлежащее другому пространству имен в clojure? - PullRequest
10 голосов
/ 05 января 2011

У меня есть файл clj, использующий определенное пространство имен, и я хочу определить что-то, принадлежащее другому пространству имен, поэтому я делаю:

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

: но когда я делаю это, я получаю результат:

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

Кто-нибудь знает почему?

1 Ответ

12 голосов
/ 05 января 2011

Во-первых, вам нужно убедиться, что пространство имен существует посредством вызова create-ns:

(create-ns 'other.namespace)

Затем вы можете использовать функцию intern для добавления определений в это пространство имен:

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

Вы можете подтвердить это, позвонив по номеру (ns-interns 'other.namespace).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...