#flags #command-line #cli #user #traits #implemented

flagtory

一个用于创建命令行标志的简单库

3 个不稳定版本

0.2.1 2022 年 12 月 30 日
0.2.0 2022 年 12 月 30 日
0.1.0 2022 年 12 月 29 日

#105 in #implemented

MIT 许可协议

12KB
112

Crates.io Documentation dependency status

Flagtory

一个用于创建命令行标志的简单库。此库允许用户轻松地创建自己的命令行标志。此库的 API 模式受 Go 的 flag 包的启发,该包为用户提供简单的接口。

示例

    // bring the module into scope     
    use flagtory::Flags;

    // initialize the flags struct
    let flags = Flags::new();

    // add your flags using the add method 
    // this returns a mutable reference to the value 
    let bool_ref = flags.add("f","this is my flag", true);
    
    assert_eq!(*bool_ref, true);

    // you can change the value as long it's the same type 
    *bool_ref = false;

    assert_eq!(*bool_ref, false);

目前,flagtory 仅接受实现了 std::str::FromStrstd::any::Any 特质的值。这些值被包装在 Flag 特质中,这就是为什么 &str 没有在 Flag 特质中实现,而是使用 String 代替。此外,用户创建可解析的自定义标志有一些限制。请参阅 此处。请使用最新版本以获得最佳体验。

无运行时依赖