Rhai
Rhai is a simple scripting language that is embedded in HEMTT for Hooks and Scripts. It has a syntax similar to Javascript, and uses types similar to Rust.
A few examples of Rhai are provided below, but this is not a complete reference. The full Language Reference can be found in the Rhai Book.
Variables
Variables are defined using let and const, variables are dynamically typed.
Variables defined with const cannot be changed.
let x; // ()
let x = 1; // (i32)
let x = 1.1; // (f32)
const x = "hello"; // (string)
Shadowing
Variables are shadowed in the current scope when redefined.
let x = 1;
print(x); // 1
{
let x = 2;
print(x); // 2
}
print(x); // 1
Logic
If
if foo() {
print("foo is true");
} else if x == 2 {
print("x is 2");
} else {
print("foo is false and x is not 2");
}
If statements can be used as expressions.
let x = if foo() {
1
} else {
2
};