summaryrefslogtreecommitdiffstats
path: root/examples/basic/src/main.rs
blob: 2f947d81b1e71a8d217ec905606aea3d6ec345ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
extern crate config;

fn main() {
    let mut c = config::Config::new();

    // Set defaults for `window.width` and `window.height`
    c.set_default("window.title", "Basic").unwrap();
    c.set_default("window.width", 640).unwrap();
    c.set_default("window.height", 480).unwrap();
    c.set_default("debug", true).unwrap();

    // Note that you can retrieve the stored values as any type as long
    // as there exists a reasonable conversion
    println!("window.title  : {:?}", c.get_str("window.title"));
    println!("window.width  : {:?}", c.get_str("window.width"));
    println!("window.width  : {:?}", c.get_int("window.width"));
    println!("debug         : {:?}", c.get_bool("debug"));
    println!("debug         : {:?}", c.get_str("debug"));
    println!("debug         : {:?}", c.get_int("debug"));

    // Attempting to get a value as a type that cannot be reasonably
    // converted to will return None
    println!("window.title  : {:?}", c.get_bool("window.title"));

    // Instead of using a get_* function you can get the variant
    // directly
    println!("debug         : {:?}", c.get("debug"));
    println!("debug         : {:?}",
             c.get("debug").unwrap().into_int());

    // Attempting to get a value that does not exist will return None
    println!("not-found     : {:?}", c.get("not-found"));
}