Struct ucl::parser::Parser
[−]
[src]
pub struct Parser {
// some fields omitted
}Methods
impl Parser
fn new() -> Self
Create new parser instance with default options
fn with_flags(flags: Flags) -> Self
Create new parser with given option flags
Flags:
DEFAULT- default configurationLOWERCASE- convert all keys to lower caseZEROCOPY- parse input in zero-copy mode if possible (you must ensure that input memory is not freed if an object is in use)NO_TIME- do not parse time and treat it's value as stringNO_IMPLICIT_ARRAYS- create explicit arrays instead of implicit ones
Examples
let parser = ucl::Parser::with_flags(ucl::parser::LOWERCASE); let doc = parser.parse("A = b").unwrap(); assert!(doc.fetch("a").is_some());
fn parse<T: AsRef<str>>(self, string: T) -> Result<Object>
Parse given string. Returns root object on success.
It moves out Parser.
Examples
assert!(ucl::Parser::new().parse("a = b").is_ok()); assert!(ucl::Parser::new().parse("a =").is_err());
fn parse_file<T: AsRef<Path>>(self, path: T) -> Result<Object>
Parse file at given Path.
It moves out Parser.
fn register_var(&self, name: String, value: String)
Register new variable
Examples
let p = ucl::Parser::new(); p.register_var("LOL".to_string(), "test".to_string()); let res = p.parse("lol = $LOL").unwrap(); assert_eq!(res.fetch("lol").unwrap().as_string(), Some("test".to_string()));