pub fn parse_expr_from_str(expr_str: &str) -> Result<Box<Expr>, ParserError>Expand description
Parse expression from str
ยงExamples
use evaluator_rs::*;
use std::collections::HashMap;
let expr = parse_expr_from_str("{a} + 2 + 3").unwrap();
let parameters = HashMap::from([("a", Value::from(4))]);
let rs = evaluate(&expr, ¶meters).unwrap();
assert_eq!(rs, Value::from(9));Examples found in repository?
examples/simple.rs (line 8)
7fn main() {
8 let expr = parse_expr_from_str("{a} + 2 + 3").unwrap();
9 let parameters = HashMap::from([("a", Value::from(1))]);
10 let rs = evaluate(&expr, ¶meters).unwrap();
11 assert_eq!(rs, Value::from(6));
12
13 let expr = parse_expr_from_str("{a} >= 1").unwrap();
14 let parameters = HashMap::from([("a", Value::from(1))]);
15 let rs = evaluate(&expr, ¶meters).unwrap();
16 assert_eq!(rs, Value::from(true));
17
18 let expr = parse_expr_from_str("{a} in [1, 2 , 3]").unwrap();
19 let parameters = HashMap::from([("a", Value::from(1))]);
20 let rs = evaluate(&expr, ¶meters).unwrap();
21 assert_eq!(rs, Value::from(true));
22}