use mlua_extras::{
extras::LuaExtras,
mlua::{self, Lua},
};
use std::path::PathBuf;
fn main() -> mlua::Result<()> {
let lua = Lua::new();
lua.prepend_path(PathBuf::from("examples").join("?").join("init.lua"))?;
lua.prepend_path(PathBuf::from("examples").join("?.lua"))?;
lua.append_cpath(PathBuf::from("examples").join("?.dll"))?;
lua.append_cpath(PathBuf::from("examples").join("?.lib"))?;
lua.set_global("key", "value")?;
lua.set_global_function("hello", |_lua, _: ()| {
println!("Hello, world!");
Ok(())
})?;
lua.globals().set("key", "value")?;
lua.globals().set(
"hello",
lua.create_function(|_lua, _: ()| {
println!("Hello, world!");
Ok(())
})?,
)?;
lua.load("require 'init'").eval::<mlua::Value>()?;
Ok(())
}