2011-12-27 3 views
1

다음과 같은 경우에 읽음 블록이 표시되지 않는 이유는 무엇입니까?왜 읽기 전용 블록을 사용하지 않습니까?

다음은 프로그램을 실행하면 발생합니다. 나는 결코 가치를 입력하지 않는다.

Enter rover's moves LMMRM 
Enter rover's moves LMMRM 

(defn prompt-for-rover-moves 
    [] 
    (do 
     (println "Enter rover's moves LMMRM ") 
     (read-line) 
    )) 

(defn -main 
    [& args] 
    (do 
     (let [grid-dim-in [0 5] 
       mr1-pos  [\N 2 4] 
       mr2-pos  [\N 1 5] 
       mr1-movs (prompt-for-rover-moves) 
       mr2-movs (prompt-for-rover-moves)] 

      (reset! grid-dim grid-dim-in) 
      (reset! mr1-id {:mr1 mr1-pos}) 
      (reset! mr2-id {:mr2 mr2-pos}) 

      (.start (Thread. (rover-thread mr1-id mr1-movs))) 
      (.start (Thread. (rover-thread mr2-id mr2-movs)))))) 
+0

그냥'do' 폼이 필요 없으며, 함수의 몸체는 암시 적'do'입니다. –

+0

repl에서 프롬프트 이동 로봇 이동 기능 만 시도해 보았습니다. – Bill

+0

이것은 lein repl입니다. 그게 효과가 있니? – octopusgrabbus

답변

1

독립 실행 형 Java 응용 프로그램으로 실행하면 정상적으로 작동합니다.

나는 REPL에서 동일한 문제를 겪었으며 절대로 괜찮은 해결책을 찾지 못했습니다.

+0

필자가 leininngen 사람들과 함께해야 할 필자의 문제는 lein jar에 메인이 없기 때문에 lein 튜토리얼을 살펴볼 필요가있다. – octopusgrabbus

관련 문제