core.clj文件的目的是什么



我刚刚开始学习clojure,对core.clj有一个非常基本的问题。

关于它的约定是什么?什么代码应该去那里?公共 API?

它是由莱宁根在创建项目时生成的。我已经查看了一些库的源代码,这个文件也在那里(每个包?

谢谢

它没有定义的含义,但在应用程序中,它通常是你找到入口点的地方,main-函数。对于库,foo.core通常是用户为获取主要功能而导入的命名空间。

不必那样做,但它是一个半可预测的地方,拥有你正在编写的任何内容的"中心位"——即使你的实际逻辑和算法代码在其他地方。

Leiningen 生成 foo.core,因为它需要选择一个名称,并且 core 足够通用,可能不会出错。这是一个风格决定,但我通常选择将 core.clj 重命名为对我的项目真正有意义的名称。

它只是Leiningen发出的模板文件。如果我运行lein new foo命名空间foo.core没有特定或标准的含义。命名空间foo是项目的主要 API 容器是完全合法的。这只是一个免费文件供您开始工作。

也就是说,如果您有一个项目foo,则预计该项目的所有代码都存在于foo.*命名空间中,尽管未强制执行。Leiningen 将允许您使用src/foo.cljsrc/bar.clj的文件构建一个项目,foo要求bar是完全合理的,但是在打包代码进行分发时,这可能是一个坏主意。

最新更新