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");