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))))))
只是FYI,你不需要'do'形式,函数的主体是一个隐含的'do'。 – 2011-12-27 03:31:27
我在repl中单独尝试了您的漫游器移动功能,它适用于我。 – Bill 2011-12-27 03:46:01
这是lein repl。这有什么区别吗? – octopusgrabbus 2011-12-27 16:02:10