我的project.clj
文件中有一些重复的值,如下所示:
(defproject foo "0.1.0-SNAPSHOT"
...
:dependencies [[bar "3.4.5"]
[baz "3.4.5"]
[bat "3.4.5"]]
...)
我希望在这里使用某种常量,这样,当这些库更新到3.5.0
时,我只需要更改一个地方。
在这里有什么最佳实践?我能想到的最好的做法是这样的:
(def deps-version "3.4.5")
(defproject foo "0.1.0-SNAPSHOT"
...
:dependencies [[bar ~deps-version]
[baz ~deps-version]
[bat ~deps-version]]
...)
~
字符,即[bar ~deps-version]
。您自己的解决方案是我在leiningen之外使用的(在gradle中用于selenium驱动程序版本),因此只需要进行一次更改,并且足够适合。 - Mark Fisher#=(eval (...))
并从文件中读取常量。(这也许不太荒谬,因为你可以将此文件作为资源并在应用程序内部读取它。)顺便说一句,随意编辑问题,重点是“如何定义常量”。 - muhuk