luau 0.732.0

Safe lifetime-bound Rust embedding API for the Luau runtime
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use luau::{Lua, Result};

fn main() -> Result<()> {
    let lua = Lua::new()?;
    let prefix = String::from("hello");
    lua.globals()?.set(
        "greet",
        luau::function!(move |_lua, name: String| { Ok(format!("{prefix} {name}")) }),
    )?;

    let greeting: String = lua
        .load(r#"return greet("Rust")"#)
        .set_name("native_upvalue")
        .call(())?;

    println!("{greeting}");
    Ok(())
}