我有一个像这样的文件
(ns boston.core)
如果我来自REPL的(load "boston/core")
,我的*ns*
不会更改为boston
,而是user
。这是为什么?
答案 0 :(得分:5)
这是因为load只加载指定的文件(进入boston.core命名空间,如文件顶部所指定)。它对REPL中的当前名称空间没有任何作用。
如果您还想在REPL中切换命名空间以使用刚刚加载的内容,则需要执行以下操作:
(load "boston/core")
(ns boston.core)
请注意,“boston / core”有斜杠,因为它引用文件资源,而名称空间本身使用点作为分隔符。