Есть ли способ настроить Clap или другую arg lib для принятия простого '-' или '+', чтобы я мог получать группы аргументов без именованного флага? - PullRequest
0 голосов
/ 20 марта 2020

Я хотел бы иметь возможность передавать аргументы, используя только символы - и + в следующем формате, чтобы хлопать или другие аргументы lib.

program -i infile.txt -o outfile.txt - stra strb strc - strd stre strf + strg + strh stri

Где в программе я мог бы получить векторы с следующие группировки ...

[stra, strb, strc]

[strd, stre, strf]

[strg]

[strh, stri]

Возможно ли это в Clap или другой библиотеке Rust Arg? Если да, то как я могу это сделать?

1 Ответ

2 голосов
/ 15 апреля 2020

Это необычная запись, и я бы не ожидал, что в какой-либо библиотеке будет опция для нее.

Обычно -- прекращает синтаксический анализ аргументов, поэтому вы можете получить - после этого разделителя:

program -i infile -- special - separator - args

В противном случае вам нужно будет самостоятельно получить std::env::args().collect::<Vec<_>>() и разбить или предварительно обработать эти аргументы, прежде чем передавать их в Clap.

...