2 个版本
使用旧的 Rust 2015
| 0.1.1 | 2019年2月3日 | 
|---|---|
| 0.1.0 | 2018年1月7日 | 
#12 in #calling
49KB
961 代码行
Luajit RS
用于从 Rust 与 LuaJIT 交互的包,用于运行高性能的 Lua 代码,可以与用 Rust 编写的本地代码集成。
入门
#[macro_use]
extern crate luajit;
use luajit::{c_int, State};
fn return_42(state: &mut State) -> c_int {
    state.push(42);
    1
}
pub fn main() {
    let mut state = State::new();
    state.open_libs();
    state.do_string(r#"print("Hello world!")"#);
    state.push(lua_fn!(return_42));
    state.set_global("return_42");
    state.do_string(r#"print(return_42())"#);
}
lib.rs:
LuaJIT RS
luajit_rs 是 LuaJIT 项目的简单包装,允许从 Rust 中轻松调用,并具有最小的开销。该包中的大多数函数直接对应于底层的 Lua C API 调用
示例
#[macro_use]
extern crate luajit;
use luajit::{c_int, State};
fn return_42(state: &mut State) -> c_int {
    state.push(42);
    1
}
pub fn main() {
    let mut state = State::new();
    state.open_libs();
    state.do_string(r#"print("Hello world!")"#);
    state.push(lua_fn!(return_42));
    state.set_global("return_42");
    state.do_string(r#"print(return_42())"#);
}
依赖项
~43KB