将其他文件包含到project.clj中

发布于 2024-12-09 07:14:16 字数 297 浏览 0 评论 0原文

是否可以将其他文件包含(导入?)到 clojure 项目的 project.clj 中? (特别是莱宁根)。

例如,我们有:

(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT"
  :description "Sample clojure application - clojure 1.3 !"
  :some-key "some value")

在除project.clj 之外的文件中定义更多诸如:some-key 之类的东西会很好。

Is it possible to include (import?) other files into the project.clj for a clojure project? (leiningen, specifically).

eg we have:

(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT"
  :description "Sample clojure application - clojure 1.3 !"
  :some-key "some value")

It would be nice to define more things like :some-key in files other than project.clj.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不离久伴 2024-12-16 07:14:16

defproject 没有理由必须是顶级形式。您可以通过构建参数列表来构造对 defproject 的调用。唯一的问题是 defproject 是一个宏,因此简单的“应用”功能没有帮助。

(def extra-args (read-string (slurp "project-extension.clj")))
(eval (concat '(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT")
                extra-args))

请注意,这是读取文件,然后评估该文件中的元素。确保您知道文件来自哪里!

There's no reason that defproject has to be a top-level form. You can construct a call to defproject by building up an argument list. The only catch is that defproject is a macro, so the straightforward "apply" function won't help.

(def extra-args (read-string (slurp "project-extension.clj")))
(eval (concat '(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT")
                extra-args))

Note that this is reading a file, then evaluating the elements from that file. Be sure you know where the file is coming from!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文