Если я загружаю файл с (ns my-namespace), почему он не переключает мое текущее пространство имен? - PullRequest
5 голосов
/ 17 февраля 2011

У меня есть такой файл

(ns boston.core)

Если я (load "boston/core") из REPL, то мой *ns* не изменится на boston, но останется user Почему это?

1 Ответ

5 голосов
/ 17 февраля 2011

Это потому, что load просто загружает указанный файл (в пространство имен boston.core, как указано в верхней части файла). Он ничего не делает с текущим пространством имен в REPL.

Если вы также хотите переключить пространство имен в REPL для использования всего, что только что было загружено, вам нужно сделать что-то вроде:

(load "boston/core")
(ns boston.core)

Обратите внимание, что у "boston / core" есть косая черта, поскольку оно относится к файловому ресурсу, тогда как сами пространства имен используют точку в качестве разделителей.

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