lua-macros

Crates.iolua-macros
lib.rslua-macros
version0.1.9
sourcesrc
created_at2017-03-03 08:37:24.539818
updated_at2017-04-12 14:11:36.402902
descriptionUseful macros to join Lua with Rust.
homepage
repositoryhttps://github.com/DenisKolodin/lua-macros
max_upload_size
id8783
size24,680
Denis Kolodin (therustmonk)

documentation

README

Lua-macros library

This library provides useful macros to simplify embedding Lua to Rust. It's based on lua crate.

Example:

#[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());
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 36

cargo fmt