Function snarkvm_circuit::environment::prelude::opt
pub fn opt<I, O, E, F>(f: F) -> impl FnMut(I)where
I: Clone,
E: ParseError<I>,
F: Parser<I, O, E>,
Expand description
Optional parser, will return None
on [Err::Error
].
To chain an error up, see [cut
].
use nom::combinator::opt;
use nom::character::complete::alpha1;
fn parser(i: &str) -> IResult<&str, Option<&str>> {
opt(alpha1)(i)
}
assert_eq!(parser("abcd;"), Ok((";", Some("abcd"))));
assert_eq!(parser("123;"), Ok(("123;", None)));