0249-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, Command};

fn main() {
    let matches = Command::new("test")
        .author("JiangBo")
        .version("1.4.4")
        .about("一个测试程序")
        .arg(Arg::new("name").short('n').long("name").help("姓名"))
        .arg(
            Arg::new("age")
                .short('a')
                .long("age")
                .help("年龄")
                .required(true),
        )
        .get_matches();

    if let Some(param) = matches.get_one::<String>("name") {
        println!("输入的姓名是: {}", param);
    }

    if let Some(param) = matches.get_one::<String>("age") {
        println!("输入的年龄是: {}", param);
    }
}

查看帮助

root@jiangbo12490:~/git/game/target/release# ./game -h
一个测试程序

Usage: game [OPTIONS] --age <age>

Options:
  -n, --name <name>  姓名
  -a, --age <age>    年龄
  -h, --help         Print help information
  -V, --version      Print version information

使用

root@jiangbo12490:~/git/game/target/release# ./game -n 张三
error: The following required arguments were not provided:
  --age <age>

Usage: game --age <age> --name <name>

For more information try '--help'

总结

编写了一个必须提供某个参数的程序。

附录

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