clap,代表 Command Line Argument Parser,是一个旨在创建直观、易用且功能强大的命令行界面的 Rust 库。截至目前(2024.3),clap 已经发展到了 4.5.1 版本,它通过简化命令行参数的处理,让开发者能更专注于应用逻辑的构建。 clap 之所以在 Rust 社区如此流行,得益于以下几个优点: 1. 易于使用 clap 的设计理念是让...
name: Option<String>, /// Sets a custom config file #[arg(short, long, value_name = "FILE")] config: Option<PathBuf>, /// Turn debugging information on #[arg(short, long, action = clap::ArgAction::Count)] debug: u8, #[command(subcommand)] command: Option<Commands>, } #[derive...
`、`arg!` 必须在features 中添加cargo ## 1.2 快速启动 ``` use std::env::Args; /// clap_v3 原来的structOpt /// use std::path::PathBuf; use clap::{arg, command, value_parser, ArgAction, Command}; fn test() { let matches = command!() // requires `cargo` feature .arg(arg!([...
use clap::{arg,command, value_parser, ArgAction, Command}; fntest() { letmatches =command!() // requires `cargo` feature .arg(arg!([name]"Optional name to operate on")) .arg( arg!( -c --config <FILE>"Sets a custom config file" ) // We don't have syntax yet for optional ...
{ /// Optional name to operate on name: Option, /// Sets a custom config file #[arg(short, long, value_name = "FILE")] config: Option, /// Turn debugging information on #[arg(short, long, action = clap::ArgAction::Count)] debug: u8, #[command(subcommand)] command: Option, ...
/// Optional name to operate on name: Option<String>, /// Sets a custom config file #[arg(short, long, value_name = "FILE")] config: Option<PathBuf>, /// Turn debugging information on #[arg(short, long, action = clap::ArgAction::Count)] ...
如果目的是在提供a时需要b和c,则可以使用requires_all:
如果目的是在提供a时需要b和c,则可以使用requires_all:
您需要引入一个ArgGroup。要使用派生宏来实现这一点,请创建一个结构体Group并将其存储在MyCommand中,...
写web项目或者app等,必不可少的要接受参数和校验参数的准确性,基本也是项目开始的第一步,那么我们今天来看下rust提供了哪些优秀的crates