iii 1.0.2

Simple configuration library,Easier than .ini
Documentation

iii

Introduce

Simple configuration library,Easier than .ini

Config file format

default.iii
c1 = value
#2222
c2 = value2
c3 = ccc3
c5 = 5c
Create new config file
let mut cc = iii::BufData::new();
cc.chgvalue("c1", "value");
cc.chgvalue("c2", "value2");
cc.chgvalue("c3", "value3");
if let Ok(_) = cc.save(None){
    println!("file write success")
};

Read config file and save

if let Ok(mut cc) = iii::BufData::loadfromiii("default.iii"){
    cc.chgvalue("c3", "ccc3");
    cc.chgvalue("c5", "5c");
    if let Ok(_) = cc.save(None){
        println!("file write success")
    };
};

Read value by key

if let Ok(cc) = iii::BufData::loadfromiii("default.iii"){
    if let Some(v) = cc.getvalue("c2"){
        println!("K:{},V:{}","c2",v);
    }
    if let Some(v) = cc.getvalue("c5"){
        println!("K:{},V:{}","c5",v);
    }
};

Save config file

let mut cc = iii::BufData::new();
cc.chgvalue("c1", "value");
if let Ok(_) = cc.save(None){
    println!("file write success")
};
if let Ok(_) = cc.save(Some("file1.iii")){
    println!("file write success")
};

Other

If you want to read the numeric type,exp like:

let mut cc = iii::BufData::new();
cc.chgvalue("c2", "33");
cc.chgvalue("c4", &true.to_string());
if let Some(v) = cc.getvalue("c2"){
    if let Ok(number) = v.parse::<i32>(){
        println!("number:");
        assert!(33==number);
    }
};
if let Some(v) = cc.getvalue("c4"){
    if let Ok(var) = v.parse::<bool>(){
        println!("bool:");
        assert!(true==var);
    }
}