Запуск опции scopt без значений

Я пишу CLI в Scala, используя Scopt.

Я хотел бы добавить возможность вызова команды с или без значений.

Например:

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

Отправил бы в Seq[String] значений.

Я также хочу иметь возможность запустить -o

CliUtility -o

Я хочу, чтобы это послало пустой Seq[String], но я не вижу, как с этим справиться.

Спасибо.

1 ответ

Решение

Из примеров на github:

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. Обратите внимание на два модификатора: неограниченный и необязательный. Это делает его таким, чтобы он мог производить сколько угодно, и это не требуется. Как вы можете видеть в примере кода класса case, значением по умолчанию для файлов является пустой Seq, как вы хотите.

И последнее, но не менее важное, я должен отметить, что вы захотите установить -o быть флагом, подобным тому, как использует пример GitHub --verbose,

Другие вопросы по тегам