#lua #macro #embedding #join

lua-macros

用于将Lua与Rust连接的有用宏

2个版本

使用旧的Rust 2015

0.1.9 2017年4月12日
0.1.8 2017年3月3日

Rust模式中排名第1662

MIT/Apache

13KB
165 代码行

Lua宏库

此库提供了一些有用的宏,用于简化Lua嵌入到Rust中。它基于lua crate。

示例

#[macro_use]
extern crate lua_macros;
use lua_macros::lua::{State, Integer};

#[derive(Clone, Debug, PartialEq)]
enum UserEnum {
  One,
  Two,
  Three,
}

lua_userdata!(UserEnum);

fn main() {
    let mut state = State::new();
    UserEnum::attach(&mut state);

    let ud = UserEnum::One;
    state.push(ud);
    state.push_nil();

    let restored = state.to_type::<UserEnum>(-2).unwrap();
    let wrong = state.to_type::<UserEnum>(-1);

    assert_eq!(restored, UserEnum::One);
    assert!(wrong.is_none());
}

许可证

许可协议为以下之一

任选其一。

贡献

除非你明确声明,否则根据Apache-2.0许可证定义,你故意提交的任何贡献,旨在包含在作品中,都应如上所述双重许可,而不附加任何额外条款或条件。

依赖关系

~1MB
~22K SLoC