oni_comb_parser_rs::prelude

Function elm_pred

Source
pub fn elm_pred<'a, I, F>(f: F) -> Parser<'a, I, I>
where F: Fn(&I) -> bool + 'a, I: Element + Clone + PartialEq + 'a,
Expand description

Returns a Parser that parses the elements that satisfy the specified closure conditions.
指定されたクロージャの条件を満たす要素を解析するパーサーを返します。

  • f: closure
  • f: クロージャ

§Example

§Success case

use oni_comb_parser_rs::prelude::*;

let text: &str = "x";
let input = text.chars().collect::<Vec<_>>();

let parser: Parser<char, char> = elm_pred(|c| *c == 'x');

let result: ParseResult<char, char> = parser.parse(&input);

assert!(result.is_success());
assert_eq!(result.success().unwrap(), input[0]);