在Clojure中,我想创建一个不断询问用户选项的函数,根据选项执行一些代码,然后在用户选项为“q”时退出。
我很满意所有与序列一起使用的各种Clojure表单,我当然可以找到类似Java的解决方案,但我无法弄清楚如何以“clojuresque”方式执行此操作。
谢谢,
Jeffrey S
答案 0 :(得分:4)
这样的事情应该可以胜任:
(defn main-loop []
(case (read-line)
"q" nil
"a" (do (println "got a command!") (recur))
"b" (do (println "got b command!") (recur))
(do (println "got invalid command!") (recur))))