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

总结

编写了可以解析多个位置参数的命令行程序。

附录

posted @ 2024-08-20 16:28  jiangbo4444  阅读(6)  评论(0编辑  收藏  举报