parse_expr_from_str

Function parse_expr_from_str 

Source
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, &parameters).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, &parameters).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, &parameters).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, &parameters).unwrap();
21    assert_eq!(rs, Value::from(true));
22}