[][src]Function gobble::combi::maybe

pub fn maybe<P: Parser>(p: P) -> Maybe<P>

returns an option on whether this item was found A common use would be looking for a minus on the front of a number

use gobble::*;
use std::str::FromStr;
let p = maybe("-").then(NumDigit.min_n(1)).try_map(|(m,n)|{
    let res:i32 = n.parse().map_err(|e|Expected::Str("[1..9]+"))?;
    if m.is_some() {
        return Ok(-res )
    }
    Ok(res)
});
let s = p.parse_s("-34").unwrap();
assert_eq!(s,-34);
let s = p.parse_s("34").unwrap();
assert_eq!(s,34);