1 use config::Config; 2 #[derive(Debug, Default, serde_derive::Deserialize, PartialEq)] 3 struct AppConfig { 4 list: Vec<String>, 5 } 6 main()7fn main() { 8 std::env::set_var("APP_LIST", "Hello World"); 9 10 let config = Config::builder() 11 .add_source( 12 config::Environment::with_prefix("APP") 13 .try_parsing(true) 14 .separator("_") 15 .list_separator(" "), 16 ) 17 .build() 18 .unwrap(); 19 20 let app: AppConfig = config.try_deserialize().unwrap(); 21 22 assert_eq!(app.list, vec![String::from("Hello"), String::from("World")]); 23 24 std::env::remove_var("APP_LIST"); 25 } 26