2020-03-24 02:49:08 +01:00
|
|
|
use rhai::{Engine, EvalAltResult, RegisterFn, INT};
|
2016-03-03 17:08:34 +01:00
|
|
|
|
2020-04-21 17:25:12 +02:00
|
|
|
fn main() -> Result<(), Box<EvalAltResult>> {
|
2016-03-03 17:08:34 +01:00
|
|
|
let mut engine = Engine::new();
|
|
|
|
|
2020-03-24 02:49:08 +01:00
|
|
|
fn add(x: INT, y: INT) -> INT {
|
2020-03-02 08:19:59 +01:00
|
|
|
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-24 02:49:08 +01:00
|
|
|
let result = engine.eval::<INT>("add(40, 2)")?;
|
2020-03-09 09:54:43 +01:00
|
|
|
|
|
|
|
println!("Answer: {}", result); // prints 42
|
|
|
|
|
|
|
|
Ok(())
|
2016-03-03 17:08:34 +01:00
|
|
|
}
|