1个不稳定发布
0.1.0 | 2022年8月11日 |
---|
#49 in #readable
15KB
66 行
cfg_mgr: Rust的基本配置管理器
此crate旨在将纯文本配置文件导入到机器可读的结构中。
其用法非常简单,只需在一个格式正确的配置文件上调用load(path :&str),其所有数据都将导入到一个包含String键和CfgData结构形式的值的HashMap中。用户需要事先了解是否要访问数字或字符串字段。
默认情况下,所有可解析的数值都将解析为f64类型的数字字段。多个数值条目必须由逗号分隔。如果某个字段的值无法解析,则结果将输出到CfgData的字符串字段中。
配置文件的正确格式如下
文件: config.cfg
#This is a comment
foo = 3.1415
bar = 1e-3 # comment
foobar = 3.1415, 1e-3 # multiple arguments are allowed
path = some/path/example.txt # this can't be parsed as f64 so it's a string
示例
以下示例加载名为"config.cfg"的文件,并打印出其解析内容。
use cfg_mgr;
fn main() {
// Open a configuration file (ignoring errors)
let config = cfg_mgr::load("config.cfg").unwrap();
// Loop over all the keys of the configuration HashMap
for key in config.keys() {
print!("{}: ", key);
// Print all numerical values (if any) for a particular key
for i in 0..config.get(key).unwrap().numeric.len(){
print!("{}, ", config.get(key).unwrap().numeric[i]);
}
// Print the string data of a key (if any) (separate using ;)
println!(";{}", config.get(key).unwrap().string);
}
}
结果
path: ;some/path/example.txt
foo: 3.1415, ;
foobar: 3.1415, 0.001, ;
bar: 0.001, ;