我有这样的文件
(ns boston.core)
Run Code Online (Sandbox Code Playgroud)
(load "boston/core")
但是,如果我来自REPL,我*ns*
不会改变boston
但仍然存在user
.为什么是这样?
这是因为load只加载指定的文件(进入boston.core命名空间,如文件顶部所指定).它对REPL中的当前名称空间没有任何作用.
如果您还想在REPL中切换命名空间以使用刚刚加载的内容,您需要执行以下操作:
(load "boston/core")
(ns boston.core)
Run Code Online (Sandbox Code Playgroud)
请注意,"boston/core"有斜杠,因为它引用文件资源,而名称空间本身使用点作为分隔符.