请参见ClojureDocs.org中的这两个参考资料:
无论何时,只要是莱恩代表,就>]
(in-ns 'some-namespace-other-than-name.core)
默认不包括clojure.core。
为了说明,起初我发现自己像这样被抓住了>>
可以访问clojure.core。)db.core=> (in-ns 'db.seed) #object[clojure.lang.Namespace 0x12738ef5 "db.seed"] db.seed=> (use 'environ.core) Syntax error compiling at (form-init7774277424301430706.clj:1:1). Unable to resolve symbol: use in this context
我刚刚找到了解决方法:
db.seed=> (clojure.core/use 'clojure.core) nil db.seed=> (use 'environ.core) nil
我的问题是,clojure.core似乎自动包含在名称空间myapp.core中,但没有包含在我可能会在REPL中切换到的任何其他名称空间中。(但是,显然,当我从核心名称空间运行程序时,那些名称空间do
这仅仅是莱宁根的默认设置吗?
想知道我在这里缺少什么理解或用法。
是,当我们运行程序时,只有myapp.core才需要访问clojure.core,而您的.core将使用的命名空间本身也不需要访问clojure.core,因为执行时它们仅导入到您应用的.core?因此,切换到其他名称空间来运行事物本质上是人为的吗?
我看了:main key in project.clj的文档,但找不到答案。
在lein repl中,每当我这样做(在ns'some-namespace-other-name-other-name.core中)时,默认都不包含clojure.core。解释一下,起初我发现自己被db.core => ...
请参见ClojureDocs.org中的这两个参考资料: