3 个版本

0.1.2 2019年11月20日
0.1.1 2019年11月20日
0.1.0 2019年11月17日

#971命令行界面

MIT/Apache

16KB
313

easy_flag

为 Rust 编写的简单命令行标志解析器。

use easy_flag::FlagSet;

fn main() -> Result<(), String>{
    let mut help = false;
    let mut my_flag = String::from("default value");
    let args: Vec<String> = std::env::args().collect();

    let mut my_set = FlagSet::new(&args[0])
        .add("-h, --help", &mut help, "Prints help message.")
        .add("-m, --my-flag", &mut my_flag, "Help message for my_flag with string `value`");

    if let Err(err) = my_set.parse(&args[1..]) {
        println!("{}", my_set.defaults());
        return Err(err);
    }

    let usage = my_set.usage();
    if help {
        println!("{}", usage);
        return Ok(());
    }

    println!("my_flag flag value: {}", my_flag);

    Ok(())
}

许可证

许可协议为 Apache 许可证 2.0 版或 MIT 许可证,任选其一。

lib.rs:

easy_flag 是一个简单的命令行标志解析器。

这个库包含处理命令行标志的函数。

示例

use easy_flag::FlagSet;

fn main() -> Result<(), String>{
let mut help = false;
let mut my_flag = String::from("default value");
let args: Vec<String> = std::env::args().collect();

let mut my_set = FlagSet::new(&args[0])
.add("-h, --help", &mut help, "Prints help message.")
.add("-m, --my-flag", &mut my_flag, "Help message for my_flag with string `value`");

if let Err(err) = my_set.parse(&args[1..]) {
println!("{}", my_set.defaults());
return Err(err);
}

let usage = my_set.usage();
if help {
println!("{}", usage);
return Ok(());
}

println!("my_flag flag value: {}", my_flag);

Ok(())
}

无运行时依赖