rhai/doc/src/engine/compile.md
2020-06-20 12:06:17 +08:00

574 B

Compile a Script (to AST)

{{#include ../links.md}}

To repeatedly evaluate a script, compile it first into an AST (abstract syntax tree) form:

// Compile to an AST and store it for later evaluations
let ast = engine.compile("40 + 2")?;

for _ in 0..42 {
    let result: i64 = engine.eval_ast(&ast)?;

    println!("Answer #{}: {}", i, result);      // prints 42
}

Compiling a script file is also supported (not available under [no_std] or in [WASM] builds):

let ast = engine.compile_file("hello_world.rhai".into())?;