Как сделать командную строку Clojure - PullRequest
0 голосов
/ 09 декабря 2018

Я новичок в Clojure, я хочу создать командную строку в clojure.

Я использую lein, приложение просто ждет, пока пользователь что-то наберет, и когда нажимает enter, оно напечатает строку.

Кажется, я не могу заставить Clojure ждать вечно с lein run Есть ли другой способ?

Вот мой код.

(defn -main [& args] 
   (read-line)
)

поэтому, когда я что-то печатаюи нажмите клавишу ввода, весь код останавливается, я хочу принять ввод пользователя и обрабатывать его непрерывно.Я имею в виду, что каждый раз, когда пользователь нажимает ввод, он / она должен перейти к следующей строке, и программа будет работать вечно.

1 Ответ

0 голосов
/ 09 декабря 2018

Затем необходимо выполнить цикл для пользовательских вводов и предоставить некоторые средства, чтобы разорвать цикл (хотя ctrl-c также работает).Например,

(loop []
  (let [input (read-line)]
    (if (= input "quit")
      (println "bye")
      (do
        (println "You said: " input)
        (recur)))))
...