我正致力于从leiningen的本地存储库编译jar。这适用于我的project.clj:
:repositories {"local" ~(str (.toURI (java.io.File. "local_mvn_repo")))}
但这失败了:
:repositories [["local" (str (.toURI (java.io.File. "local_mvn_repo")))]]
$ lein deps
java.lang.UnsupportedOperationException: nth not supported on this type: Symbol
即使后者符合the official example的要求。我的问题是:
上面做了什么,我需要它做什么,以及为什么我不能使用矢量形式?
答案 0 :(得分:2)
在这种情况下,〜是unquoting函数,它告诉lieningen在它之后运行表单并使用运行它生成的值而不是直接尝试使用它。
第一个例子,如果Leiningen版本1.x的格式是第二个来自较新的格式而失败,因为它缺少~
和一些{ }
:repositories [["local" {:url ~(str (.toURI (java.io.File. "local_mvn_repo")))}]]
ps:我不确定地图表格是否必需,我假设您使用的是lein2