1 个不稳定版本
0.1.2 | 2022年3月13日 |
---|---|
0.1.1 |
|
0.1.0 |
|
#6 在 #mlua
13KB
224 行
luao3
基于宏的 Rust 到 Lua 的绑定。
警告:此软件为 ALPHA 质量。预期会有破坏性的更改和 API 的删除/添加。
示例
use luao3::prelude::*;
use mlua::prelude::*;
#[derive(Debug, FromLua, ToLua)]
struct Foo {
foo: String,
#[lua(default)]
bar: Vec<String>
}
#[lua_function]
pub fn bar(a: Foo) -> LuaResult<Foo> {
Ok(Foo {
foo: format!("baz{}", a.foo),
bar: vec!["foo".into(), "baz".into(), a.bar.get(0).cloned()
.unwrap_or_else(|| "baz".into())]
})
}
#[lua_function]
pub fn baz(txt: String) -> LuaResult<i32> {
txt.parse::<i32>().map_err(mlua::Error::external)
}
luao3::declare_simple_module! {
name => foobar,
members => {
fn bar,
fn baz as baz2
}
}
依赖项
~7–10MB
~175K SLoC