2013-06-25 3 views
1

저는 Clojure를 설정하여 Overtone을 사용하려고했습니다.Clojure Lein REPL이 열리지 않습니다.

Exception in thread "main" java.lang.Exception: EOF while reading string (project.clj:5) 
    at clojure.lang.Compiler.load(Compiler.java:5864) 
    at clojure.lang.Compiler.loadFile(Compiler.java:5821) 
    at clojure.lang.RT$3.invoke(RT.java:296) 
    at leiningen.core$read_project$fn__2128.invoke(core.clj:127) 
    at leiningen.core$read_project.invoke(core.clj:126) 
    at leiningen.core$read_project.invoke(core.clj:130) 
    at leiningen.core$_main.doInvoke(core.clj:320) 
    at clojure.lang.RestFn.invoke(RestFn.java:410) 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) 
    at clojure.lang.RestFn.applyTo(RestFn.java:132) 
    at clojure.core$apply.invoke(core.clj:542) 
    at leiningen.core$_main.invoke(core.clj:332) 
    at user$eval42.invoke(NO_SOURCE_FILE:1) 
    at clojure.lang.Compiler.eval(Compiler.java:5425) 
    at clojure.lang.Compiler.eval(Compiler.java:5392) 
    at clojure.core$eval.invoke(core.clj:2382) 
    at clojure.main$eval_opt.invoke(main.clj:235) 
    at clojure.main$initialize.invoke(main.clj:254) 
    at clojure.main$script_opt.invoke(main.clj:270) 
    at clojure.main$main.doInvoke(main.clj:354) 
    at clojure.lang.RestFn.invoke(RestFn.java:436) 
    at clojure.lang.Var.invoke(Var.java:373) 
    at clojure.lang.AFn.applyToHelper(AFn.java:167) 
    at clojure.lang.Var.applyTo(Var.java:482) 
    at clojure.main.main(main.java:37) 
Caused by: java.lang.Exception: EOF while reading string 
    at clojure.lang.LispReader$StringReader.invoke(LispReader.java:407) 
    at clojure.lang.LispReader.readDelimitedList(LispReader.java:1051) 
    at clojure.lang.LispReader$VectorReader.invoke(LispReader.java:998) 
    at clojure.lang.LispReader.readDelimitedList(LispReader.java:1051) 
    at clojure.lang.LispReader$VectorReader.invoke(LispReader.java:998) 
    at clojure.lang.LispReader.readDelimitedList(LispReader.java:1051) 
    at clojure.lang.LispReader$ListReader.invoke(LispReader.java:900) 
    at clojure.lang.LispReader.read(LispReader.java:145) 
    at clojure.lang.Compiler.load(Compiler.java:5854) 
    ... 24 more 

나는 그것이 일치하지 않는 괄호로 인한 아니라고 확인했다 : 나는 프로젝트 폴더 안에 Lein을 발사 할 때

그러나,이 메시지가 나타납니다. 나는 인터넷에서 검색을했고 this을 발견했다. 사람들이 JRE에서 JDK로 전환하여 문제를 해결 한 것 같습니다. 그들은 Windows에 대해 이야기하고 있습니다.

저는 우분투 리눅스를 사용하고 있으며 자바로 개발 한 적이 없습니다. 필자는 다양한 Java 기술에 대해서만 이해하고 있습니다. 누군가 제발 이걸 알아낼 수 있을까요? 그게 너 일종의 친절 할거야. 그것은 매우 불쾌한 걸림돌입니다. 나는 단지 "멋진"Clojure에서 시작하려고 노력하고있었습니다. (그것은 훌륭합니다. 아무 풍자도 의도하지 않았습니다.)

질문 2 : 나는 Clojure에 매우 익숙하다. 대학에서 SICP를하는 동안 Scheme을 사용했고 더 현대적인 LISP 방언으로 옮기기로 결정했습니다. 구문에 익숙하지만 Clojure가 "Java 생태계"에 많이 묶여 있는지 알고 싶습니다. 나는 그것이 단어의 일반적인 의미로 자바에 묶여 있다는 것을 안다; 하지만 Clojure 프로그래머는 괄호가 추가 된 상태에서 Java로 작업하는 것처럼 느껴지 나 Clojure는 실제로 JVM에서 실행되는 생태계입니까? 나는 높은 기대를 가지고 있었다. 그러나 그런 자바 관련 걸림돌로 달려간 후에 나는 꽤 실망했다.

다음은 project.clj (@Arthur Ulfeldt을 언급 주셔서 감사합니다)입니다 :

그것은 배음의 "시작하기"섹션의
(defproject tutorial "1.0" 
     :dependencies [ [org.clojure/clojure "1.5.1"] 
         [overtone "0.8.1"] ]) 

. 기본적으로, 당신은 문자열을 근접 견적을 누락

(defproject whatever "1.0" 
    :dependencies [[something "1.0]]) 

, 그 문자열이 두 벡터의 안에 중첩되어

+0

시간에 한 가지 질문하는 것이 좋습니다. Clojure는 API 측면에서 Java에 묶일뿐만 아니라 Java로 부분적으로 작성되기 때문에 상대적으로 낮은 수준의 작업을 수행하는 경우 Java를 이해해야 할 수도 있습니다. 또한, 그것은 분명히 Java 런타임 물건 (바이트 코드, 가비지 수집, JIT, 반사 등)을 이해하는 데 도움이됩니다. –

+2

project.clj의 내용을 포함시킬 수 있습니까? 디버깅에 도움이 될 것입니다. –

+0

그 project.clj에는 다섯 줄이 없습니다. 파일이 저장되지 않았습니까? –

답변

2

질문 2 :

Clojure에서 호스트 된 언어와 플랫폼을 포용하는 핵심 철학 중 하나입니다. 기존의 Java 라이브러리를 사용하는 것은 매우 간단하고, 복잡하게 전개 할 때 랩하거나 바꾸는 것은 관용적입니다. Clojure가 인 Java 생태계을 배우는 훌륭한 방법이라는 것을 알았습니다. 다른 운전 원리는 물건을 분리하고 단순하게 유지하고 신분과 시간을 적절하게 추적하는 것입니다.

+0

그래서 MacRuby를 사용한 프로그래밍과 비슷합니까? Objective C 프레임 워크를 배워야한다. 감사. – Roald

+1

좋은 부분 만 있습니다 .-) –

+1

이제 질문을 별도로해야하는 이유를 이해했습니다.) – Roald

2

스택 트레이스는 project.clj 같이 읽는 것처럼 나에게 보이게한다. 대부분 :dependencies을 의미 할 가능성이 있지만 다른 곳에서있을 수 있습니다. 문제는 아마도 project.clj의 5 번 줄에 있으므로 아마도 거기에서 살펴보기 시작할 것입니다.

+0

이전에 projectl.clj를 포함하지 않아서 죄송합니다! 뭐라 구요! – Roald

관련 문제