运行没有值的scopt选项

时间:2015-03-17 21:30:54

标签: scala scopt

我正在使用Scopt在Scala中编写CLI。

我想添加使用或不使用值来调用命令的功能。

例如:

CliUtility -o <value> <value> <value>

将发送值的Seq [String]。

我也希望能够运行-o

CliUtility -o

我希望发送一个空的Seq [String]但我无法看到如何处理它。

谢谢。

1 个答案:

答案 0 :(得分:0)

来自examples on github

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的方式。