运行 没有值的 scopt 选项
Running a scopt option with no values
我正在使用 Scopt 在 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
对应于 Config case class 中的 files: Seq[File]
。
注意 unbounded 和 optional 的两个修饰符。这些使它可以生产任意数量的产品,这不是必需的。正如您在示例案例 class 代码中看到的,文件的默认值是一个空的 Seq,如您所愿。
最后但同样重要的是,我要提一下,您需要将 -o
设置为标志,类似于 github 示例使用 --verbose
的方式。
我正在使用 Scopt 在 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
对应于 Config case class 中的 files: Seq[File]
。
注意 unbounded 和 optional 的两个修饰符。这些使它可以生产任意数量的产品,这不是必需的。正如您在示例案例 class 代码中看到的,文件的默认值是一个空的 Seq,如您所愿。
最后但同样重要的是,我要提一下,您需要将 -o
设置为标志,类似于 github 示例使用 --verbose
的方式。