2020-03-09 09:54:43 +01:00
|
|
|
use rhai::{Engine, EvalAltResult, RegisterFn};
|
2016-03-03 17:08:34 +01:00
|
|
|
|
2020-03-09 09:54:43 +01:00
|
|
|
fn main() -> Result<(), EvalAltResult> {
|
2016-03-03 17:08:34 +01:00
|
|
|
let mut engine = Engine::new();
|
|
|
|
|
2020-03-02 08:19:59 +01:00
|
|
|
fn add(x: i64, y: i64) -> i64 {
|
|
|
|
x + y
|
|
|
|
}
|
|
|
|
|
2016-03-16 23:07:08 +01:00
|
|
|
engine.register_fn("add", add);
|
2020-03-02 08:19:59 +01:00
|
|
|
|
2020-03-09 09:54:43 +01:00
|
|
|
let result = engine.eval::<i64>("add(40, 2)")?;
|
|
|
|
|
|
|
|
println!("Answer: {}", result); // prints 42
|
|
|
|
|
|
|
|
Ok(())
|
2016-03-03 17:08:34 +01:00
|
|
|
}
|