Rhai - embedded scripting for Rust
Rhai is a tiny, simple and very fast embedded scripting language for Rust
that gives you a safe and easy way to add scripting to your applications.
It provides a familiar syntax based on JS and Rust and a simple Rust interface.
Here is a quick example. First, the contents of my_script.rhai
:
fn factorial(x) {
if x == 1 { return 1; }
x * factorial(x - 1)
}
compute_something(factorial(10))
And the Rust part:
use rhai::{Engine, EvalAltResult, RegisterFn};
fn main() -> Result<(), EvalAltResult>
{
fn compute_something(x: i64) -> bool {
(x % 40) == 0
}
let mut engine = Engine::new();
engine.register_fn("compute_something", compute_something);
# #[cfg(not(feature = "no_std"))]
assert_eq!(engine.eval_file::<bool>("my_script.rhai".into())?, true);
Ok(())
}