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