【发布时间】:2018-10-08 20:00:08
【问题描述】:
我正在完成我的第一个 Clojure 程序之一。我剩下要做的一件事是让我的程序接受命令行参数。 args 的数量可以变化(但至少需要一个),然后每个命令行 arg 需要作为参数提供给我的 main 中的函数,一次一个。我一直在网上阅读,似乎clojure/tools.cli 是这样做的方法,(也许使用parse-opts?)。但我无法为我的一生弄清楚。没有验证,这确实需要发生——用户提供的任何内容都是有效的。 (唯一需要检查的是至少提供了一个参数)。有什么建议可以解决这个问题吗?
我遇到的所有例子看起来都很复杂,很容易让我头疼。
我正在尝试做的一个简单示例是在用户提供任意数量的命令行参数之后,然后让 clojure 在终端的新行中打印每个字符串。
我使用 leiningen 来运行我的程序。
【问题讨论】:
-
您能否展示您使用
clojure.tools.cli/parse-opts的尝试——即。你有什么代码,你想要什么行为,你实际上得到了什么行为? (请参阅帮助中心的 minimal reproducible example 页面,了解如何将最短的代码示例组合在一起,让其他人自己看到您的问题)。 -
...实际上,如果 everything 是有效的,你可以说不需要 parse-opts,只需实现一个对其参数列表进行操作的 main 函数。