2011-10-12 1 views
3

에서 작동하지 나타나는 간단한 프로젝트 파일을 가지고 :가 아닌 리터럴 문자열에 프로젝트 속성을 설정 leiningen

(defproject 샘플-Clojure의-cloudbees "1.0.0-SNAPSHOT" : 설명 "샘플 Clojure의 응용 프로그램을 - " : blah"hello ")

"get project : blah "를 읽을 때"hello "문자열이 반환됩니다.

내가 "안녕하세요"교체 할 경우

: (소리내어 먹는다 "일부 파일 ...") 나는에 의한 오류 얻을

ㅋ ㅋ는 : java.lang.ClassCastException가를 : clojure.lang.PersistentList 수 없습니다 java.lang.String에 캐스트 해주세요.

내가 예상 한 것, 어떤 생각을 평가하지 않는 것 같습니다.

+0

나는 당신이 여기서 무엇을하려고하는지 잘 모르겠다. 여기'defproject' 소스가있다. 어쩌면 도움이 될까? http://clojuredocs.org/leiningen/leiningen.core/defproject – Paul

답변

4

defproject는

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

당신에게 줄 것이다 당신이 그것을 말할하지 않는 한 (소리내어 먹는다 ...),

교체와

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

, 그것을 평가하지 않습니다 매크로입니다 파일의 내용

+0

오 환상적입니다. 나는 그것이 그와 비슷한 것이라고 생각했다. 나는 이것을 잊어 버리지 않을 교훈으로 ch 것이다.) 이상하게도 나는 그것이 과거에 일하는 것을 보았다는 것을 거의 확신한다. 아마도 나는 그것이 문자열 일 것으로 기대하지 않았을 뿐이며, 단지 오류를 보지 못했을 것이라고 생각한다. 이 경우에 내가 그것을 사용하러 갔을 때. –

관련 문제