0246-CLAP-解析多个位置参数
环境
- Time 2022-12-02
- WSL-Ubuntu 22.04
- CLAP 4.0.29
前言
说明
参考:https://docs.rs/clap/latest/clap/index.html
目标
编写可以解析多个位置参数的程序。
Cargo.toml
[package]
edition = "2021"
name = "game"
version = "1.0.0"
[dependencies]
clap = "4"
main.rs
use clap::{Arg, ArgAction, Command};
fn main() {
let matches = Command::new("test")
.author("JiangBo")
.version("1.4.4")
.about("一个测试程序")
.arg(Arg::new("name").action(ArgAction::Append))
.get_matches();
if let Some(param) = matches.get_many::<String>("name") {
for name in param.collect::<Vec<_>>() {
println!("输入的参数是: {}", name);
}
}
}
查看帮助
root@jiangbo12490:~/git/game/target/release# ./game -h
一个测试程序
Usage: game [name]...
Arguments:
[name]...
Options:
-h, --help Print help information
-V, --version Print version information
使用
root@jiangbo12490:~/git/game/target/release# ./game zhangsan lisi wangwu
输入的参数是: zhangsan
输入的参数是: lisi
输入的参数是: wangwu
总结
编写了可以解析多个位置参数的命令行程序。