register_prefix_op

Function register_prefix_op 

Source
pub fn register_prefix_op(
    op: &str,
    handler: Arc<dyn Fn(Value) -> Result<Value, Error> + Send + Sync + 'static>,
)
Expand description

ยงUsage

You can register some prefix operators in advance via this method

use std::sync::Arc;
use expression_engine::{register_prefix_op, create_context, execute, Value};
register_prefix_op(
     "+++",
     Arc::new(|v| {
         let mut tmp = v.integer()?;
         tmp += 3;
         Ok(Value::from(tmp))
     }),
);
let input = "+++11";
let ans = execute(input, create_context!());
assert!(ans.is_ok());
assert_eq!(ans.unwrap(), Value::from(14));