1个不稳定版本
0.1.2 | 2023年8月11日 |
---|
#47 in #home
20KB
226 行
cr_program_settings
一个简化将包含程序设置的结构的保存到某个安全位置的库。目前,程序允许你给它一个结构体,它将使用库将该结构体保存在用户主目录中,文件名为使用库的程序名。这是一个非常基础的库,我计划在未来的其他项目中使用。
示例用法
use cr_program_settings::prelude::*;
// create a struct we want to save, it needs to implement at a minimum of Serialize and Deserialize
#[derive(Serialize,Deserialize, PartialEq, Debug)]
struct Settings{
setting1: u32,
setting2: String,
setting3: Vec<bool>,
}
fn main() {
let settings = Settings{
setting1: 128,
setting2: "this is a cool setting struct".to_string(),
setting3: vec![false,true,false,false],
};
save_settings!(settings).expect("Settings were unable to be saved");
// -- snip --
let loaded_settings = load_settings!(Settings).expect("Unable to read settings file");
assert_eq!(settings,loaded_settings);
}
依赖项
~0.6–8.5MB
~68K SLoC