Function calculate

Source
pub fn calculate(
    variables: &HashMap<String, String>,
    expr: &str,
) -> Result<String>
Expand description

Evaluate the lisp expression

    let mut vars: HashMap<String, String> = HashMap::new();
    vars.insert("test".into(), "1".into());
    assert_eq!(calculate(&vars, "(+ 1 1)")?, "2");
    assert_eq!(calculate(&vars, "(st+var 'test)")?, "\"1\"");
    assert_eq!(calculate(&vars, "(/ 20 (st+num \"test\"))")?, "20");
    assert_eq!(calculate(&vars, "(/ 20 (st+num 'testing 5))")?, "4");
    assert_eq!(calculate(&vars, "(st+has 'test)")?, "T");