Установка свойства проекта в не-литеральную строку не работает в leiningen - PullRequest
3 голосов
/ 12 октября 2011

Возьмите простой файл проекта:

(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT" : описание "Пример приложения clojure - clojure 1.3!" : blah "привет")

Когда я читаю (получаю проект: бла), я получаю строку "привет", как и ожидалось.

Если я заменю «привет»

: бла (глоток "какой-то файл ...")

Я получаю ошибку, вызванную: java.lang.ClassCastException: clojure.lang.PersistentList не может быть приведен к java.lang.String

Кажется, что я не оцениваю вещи так, как я ожидаю, какие-либо идеи?

1 Ответ

4 голосов
/ 12 октября 2011

defproject - это макрос, который он не будет оценивать (slurp ...), если вы не укажете его,

замена

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

с

:blah ~(slurp "some file...")

даст вам содержимое файла.

...