аргументов в clap с помощью derive api? сейчас делаю так:
#[derive(Parser, Debug)]
struct Args {
…
#[command(flatten)]
more_args: Option<MoreArgs>,
}
#[derive(Args, Debug)]
#[group(required(false))]
struct MoreArgs {
…
}
а почему так плохо? Хочется чтоб либо все аргументы из группы были представлены либо ни одного?
да. если вкратце, то нужно два аргумента с путями к файлам и один опциональный аргумент, который присутствует только если есть другие два, и это нужно в нескольких командах
там же есть required_if/required_if_eq. Не очень понятна проблема пока чот
тут дело в том, что в части команд эта конструкция вся опциональная, а в части обязательная. то есть два аргумента с путями в одной команде нужны всегда, а в другой их может не быть
по сути есть Args2: #[derive(Parser, Debug)] struct Args2 { … #[command(flatten)] more_args: MoreArgs, }
Обсуждают сегодня