3

我正在从 leiningen 的本地存储库中编译 jars。这适用于我的 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

尽管后者看起来符合官方示例。我的问题是这样的:

上面的~是做什么的,我需要哪个,为什么我不能使用向量形式?

4

1 回答 1

3

~ 在这种情况下是取消引用函数,它告诉 Lieningen 在它之后运行表单并使用运行它产生的值而不是尝试直接使用它。

第一个示例,如果 Leiningen 版本 1.x 的格式,而第二个来自较新的格式并且由于缺少~和一些而失败{ }

:repositories [["local" {:url ~(str (.toURI (java.io.File. "local_mvn_repo")))}]]

ps:我不确定是否需要地图表格,我假设您使用的是 lein2

于 2013-05-09T22:39:26.277 回答