【问题标题】:Running a scopt option with no values运行没有值的 scopt 选项
【发布时间】:2015-03-17 21:30:54
【问题描述】:

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

我想添加调用带有或不带有值的命令的功能。

例如:

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

将发送值的 Seq[String]。

我也希望能够运行 -o

CliUtility -o

我希望它发送一个空的 Seq[String] 但我不知道如何处理。

谢谢。

【问题讨论】:

  • 那么到目前为止你尝试过什么?

标签: scala scopt


【解决方案1】:

来自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]。 注意 unbounded 和 optional 这两个修饰符。这些使它可以生产任意数量的产品,这不是必需的。在示例案例类代码中可以看到,files 的默认值为空 Seq,如您所愿。

最后但并非最不重要的一点是,我应该提一下,您需要将 -o 设置为标志,类似于 github 示例使用 --verbose 的方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 2023-01-01
    • 1970-01-01
    • 2019-05-07
    相关资源
    最近更新 更多