examples/README.md
| Example | Description |
|---|---|
arrays_and_structs | shows how to register a Rust type and using it with arrays |
callback | shows how to store a Rhai closure and call it later within Rust |
custom_types_and_methods | shows how to register a Rust type and methods/getters/setters for it |
custom_types | shows how to register a Rust type and methods/getters/setters using the CustomType trait. |
definitions | shows how to generate definition files for use with the Rhai Language Server (requires the metadata feature) |
hello | simple example that evaluates an expression and prints the result |
pause_and_resume | shows how to pause/resume/stop an Engine running in a separate thread via an MPSC channel |
reuse_scope | evaluates two pieces of code in separate runs, but using a common Scope |
serde | example to serialize and deserialize Rust types with serde (requires the serde feature) |
simple_fn | shows how to register a simple Rust function |
strings | shows different ways to register Rust functions taking string arguments |
threading | shows how to communicate in duplex with an Engine running in a separate thread via a pair of MPSC channels |
Because of its popularity, included are sample implementations for the pattern Scriptable Event Handler With State in different styles.
| Example | Handler Script | Description |
|---|---|---|
event_handler_main | event_handler_main/script.rhai | Main Style |
event_handler_js | event_handler_js/script.rhai | JS Style |
event_handler_map | event_handler_map/script.rhai | Map Style |
Examples can be run with the following command:
cargo run --example {example_name}