如何使用clap让结构体接收多值并填充Vec<String>参数?
解决方法
要让clap支持单个--files选项接收多个值,需要在结构体字段的clap属性中添加multiple_values = true配置:
pub struct Args { #[clap(short, long, value_parser, multiple_values = true)] pub files: Vec<String>, }
修改后,执行你原来的命令就能正常解析:
cargo run -- --files hello world
另外,也可以不修改结构体,通过多次指定--files选项来传递多个值:
cargo run -- --files hello --files world
内容的提问来源于stack exchange,提问作者Zach W
相关产品推荐
相关产品推荐

