Запуск опции scopt без значений
Я пишу CLI в Scala, используя Scopt.
Я хотел бы добавить возможность вызова команды с или без значений.
Например:
CliUtility -o <value> <value> <value>
Отправил бы в Seq[String] значений.
Я также хочу иметь возможность запустить -o
CliUtility -o
Я хочу, чтобы это послало пустой Seq[String], но я не вижу, как с этим справиться.
Спасибо.
1 ответ
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
,