pub fn choice<S, P>(ps: S) -> Choice<S, P>
Expand description
Takes an array of parsers and tries them each in turn. Fails if all parsers fails or when a parsers fails with a consumed state.
let mut parser = choice([string("Apple"), string("Banana"), string("Orange")]);
assert_eq!(parser.parse("Banana"), Ok(("Banana", "")));
assert_eq!(parser.parse("Orangexx"), Ok(("Orange", "xx")));
assert!(parser.parse("Appl").is_err());
assert!(parser.parse("Pear").is_err());