mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 02:09:05 +02:00 
			
		
		
		
	MozReview-Commit-ID: 1muL5Jc7ulI --HG-- extra : rebase_source : ff2fdf700f38e66a932e3e73562190530ff1d47a
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
extern crate ini;
 | 
						|
 | 
						|
use std::io::stdout;
 | 
						|
 | 
						|
use ini::Ini;
 | 
						|
 | 
						|
const CONF_FILE_NAME: &'static str = "test.ini";
 | 
						|
 | 
						|
fn main() {
 | 
						|
 | 
						|
    let mut conf = Ini::new();
 | 
						|
    conf.with_section(None::<String>)
 | 
						|
        .set("encoding", "utf-8");
 | 
						|
    conf.with_section(Some("User"))
 | 
						|
        .set("name", "Raspberry树莓")
 | 
						|
        .set("value", "Pi");
 | 
						|
    conf.with_section(Some("Library"))
 | 
						|
        .set("name", "Sun Yat-sen U")
 | 
						|
        .set("location", "Guangzhou=world\x0ahahaha");
 | 
						|
 | 
						|
    conf.section_mut(Some("Library"))
 | 
						|
        .unwrap()
 | 
						|
        .insert("seats".into(), "42".into());
 | 
						|
 | 
						|
    println!("---------------------------------------");
 | 
						|
    println!("Writing to file {:?}\n", CONF_FILE_NAME);
 | 
						|
    conf.write_to(&mut stdout()).unwrap();
 | 
						|
 | 
						|
    conf.write_to_file(CONF_FILE_NAME).unwrap();
 | 
						|
 | 
						|
    println!("----------------------------------------");
 | 
						|
    println!("Reading from file {:?}", CONF_FILE_NAME);
 | 
						|
    let i = Ini::load_from_file(CONF_FILE_NAME).unwrap();
 | 
						|
 | 
						|
    println!("Iterating");
 | 
						|
    let general_section_name = "__General__".into();
 | 
						|
    for (sec, prop) in i.iter() {
 | 
						|
        let section_name = sec.as_ref().unwrap_or(&general_section_name);
 | 
						|
        println!("-- Section: {:?} begins", section_name);
 | 
						|
        for (k, v) in prop.iter() {
 | 
						|
            println!("{}: {:?}", *k, *v);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    println!("");
 | 
						|
 | 
						|
    let section = i.section(Some("User")).unwrap();
 | 
						|
    println!("name={}", section.get("name").unwrap());
 | 
						|
    println!("conf[{}][{}]={}", "User", "name", i["User"]["name"]);
 | 
						|
    println!("General Section: {:?}", i.general_section());
 | 
						|
}
 |