我正在使用 Scop 在 Scala 中编写 CLI。
我想添加调用带有或不带有值的命令的能力。
例如:
CliUtility -o <value> <value> <value>
将发送值的 Seq[String]。
我也希望能够运行 -o
CliUtility -o
我希望它发送一个空的 Seq[String] 但我看不到如何处理它。
谢谢你。
arg[File]("<file>...") unbounded() optional() action { (x, c) =>
c.copy(files = c.files :+ x) } text("optional unbounded args")
产生以下使用文本:
<file>...
optional unbounded args
并且对应files: Seq[File]
于 Config 案例类中。注意 unbounded 和 optional 这两个修饰符。这些使它可以生产任意数量的产品,这不是必需的。正如您在示例案例类代码中看到的那样,文件的默认值是一个空的 Seq,如您所愿。
最后但并非最不重要的一点是,我应该提到您需要将 设置-o
为一个标志,类似于 github 示例使用--verbose
.