Clojure 在leiningen中,将项目属性设置为非文字字符串似乎不起作用

Clojure 在leiningen中,将项目属性设置为非文字字符串似乎不起作用,clojure,leiningen,Clojure,Leiningen,以一个简单的项目文件为例: (defproject示例clojure cloudbees“1.0.0-SNAPSHOT” :description“示例clojure应用程序-clojure 1.3!” :废话“你好”) 当我阅读(getproject:blah)时,我得到了返回的“hello”字符串——正如预期的那样 如果我替换“你好” :废话(咕哝着“某个文件…”) 我得到一个错误,原因是:java.lang.ClassCastException:clojure.lang.Persisten

以一个简单的项目文件为例:

(defproject示例clojure cloudbees“1.0.0-SNAPSHOT” :description“示例clojure应用程序-clojure 1.3!” :废话“你好”)

当我阅读(getproject:blah)时,我得到了返回的“hello”字符串——正如预期的那样

如果我替换“你好”

:废话(咕哝着“某个文件…”)

我得到一个错误,原因是:java.lang.ClassCastException:clojure.lang.PersistentList无法转换为java.lang.String


它似乎没有按照我的预期来评估事情,有什么想法吗?

defproject是一个宏,除非你告诉它,否则它不会评估(slurp…)

取代

:blah (slurp "some file...")
有,


将为您提供文件的内容。

我不确定您在这里要做什么,这是
defproject
源代码,可能会有所帮助?哦,太棒了。我以为是这样的。我将把这记为我永远不会忘记的一课;)奇怪的是,我几乎可以肯定我在过去看到过它的工作原理——我想我可能没想到它会是一个字符串,只是在我使用它时没有看到像本例中那样的错误。
:blah ~(slurp "some file...")