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(())
}