#config-file #flags #lazy-evaluation #file #loader #file-format #config

lazyf

一种简单的方法,用于从标志和配置文件中获取配置,具有懒惰的、易于阅读的文件格式

5个版本

使用旧的Rust 2015

0.1.4 2018年10月30日
0.1.3 2018年8月20日
0.1.2 2018年6月21日
0.1.1 2018年6月18日
0.1.0 2018年6月16日

#78 in #loader

MIT许可

16KB
458

Lazyf

一个用于设置程序中简单配置的工具。

更改

//即将在v 0.1.4中到来:为 &LzList 实现 IntoIterator,使 Cfg load_first 更容易调用

v 0.1.3

添加了更正确的错误处理方法


lib.rs:

Lazyf

Lazyf 既是文件格式,也是加载配置的机制。其主要目标是让用户在尝试从代码中获取用户选项时尽可能懒惰。

使用 lazyf,用户选项来自两个地方。-标志和配置文件。cfg(配置)模块结合了 lzlist(lazyfile)模块和 flag 模块

lazyf 文件格式基本上看起来像这样(忽略引号)

"
Superman:
    power:Flying
    age:29

Batman:
    power:Money
    age:40
";

获取配置选项的最简单方法

use lazyf::{Cfg,SGetter};

let cf = Cfg::load_first("-c",   &["--config-location--"]);
let age = cf.get_t_def(("-bman","Batman.age"),10);
//age == 40

在这个配置位置将是标志-c 后指定的位置或配置位置列表的第一个位置,如果找不到任何位置,仍然会返回 Cfg,因为仍然可以使用标志。

无运行时依赖