【问题标题】:How to make Clojure command line如何制作 Clojure 命令行
【发布时间】:2018-12-09 05:14:20
【问题描述】:

我是 Clojure 的新手,我希望在 clojure 中创建一个命令行。

我正在使用 lein,该应用程序只是在等待用户输入内容,当按 Enter 时,它将打印该行。

我似乎不能让 Clojure 永远等待 lein run 有没有其他办法?

这是我的代码。

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

所以当我输入一些东西并按回车键时,整个代码都会停止, 我想接受用户输入的输入并不断处理它。 我的意思是每次用户按下回车,他/她应该能够继续下一行并且程序将永远运行。

【问题讨论】:

  • 您应该发布您的尝试。在没有看到任何东西的情况下,我猜你正在使用类似map 的东西来处理一个没有被实现的惰性序列。从 repl 中使用时,它确实会实现,因为 repl 会尝试打印结果。
  • 嗨@Shlomi,将更新代码,但真的。我什至不知道从哪里开始

标签: clojure leiningen


【解决方案1】:

然后您需要循环用户输入并提供一些方法来打破循环(但是,ctrl-c 也可以)。例如

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

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    相关资源
    最近更新 更多