Crate rlua [] [src]

High-level bindings to Lua

The rlua crate provides safe high-level bindings to the Lua programming language.

The Lua object

The main type exported by this library is the Lua struct. In addition to methods for executing Lua chunks or evaluating Lua expressions, it provides methods for creating Lua values and accessing the table of globals.

Converting data

The ToLua and FromLua traits allow conversion from Rust types to Lua values and vice versa. They are implemented for many data structures found in Rust's standard library.

For more general conversions, the ToLuaMulti and FromLuaMulti traits allow converting between Rust types and any number of Lua values.

Most code in rlua is generic over implementors of those traits, so in most places the normal Rust data structures are accepted without having to write any boilerplate.

Custom Userdata

The UserData trait can be implemented by user-defined types to make them available to Lua. Methods and operators to be used from Lua can be added using the UserDataMethods API.

Reexports

pub use lua::Nil;

Modules

ffi

Bindings to the Lua 5.3 C API.

prelude

Re-exports most types with an extra Lua* prefix to prevent name clashes.

Structs

AnyUserData

Handle to an internal Lua userdata for any type that implements UserData.

Function

Handle to an internal Lua function.

LightUserData

A "light" userdata value. Equivalent to an unmanaged raw pointer.

Lua

Top level Lua struct which holds the Lua state itself.

MultiValue

Multiple Lua values used for both argument passing and also for multiple return values.

String

Handle to an internal Lua string.

Table

Handle to an internal Lua table.

TablePairs

An iterator over the pairs of a Lua table.

TableSequence

An iterator over the sequence part of a Lua table.

Thread

Handle to an internal Lua thread (or coroutine).

UserDataMethods

Method registry for UserData implementors.

Variadic

Wraps a variable number of Ts.

Enums

Error

Error type returned by rlua methods.

MetaMethod

Kinds of metamethods that can be overridden.

ThreadStatus

Status of a Lua thread (or coroutine).

Value

A dynamically typed Lua value.

Traits

ExternalError
ExternalResult
FromLua

Trait for types convertible from Value.

FromLuaMulti

Trait for types that can be created from an arbitrary number of Lua values.

ToLua

Trait for types convertible to Value.

ToLuaMulti

Trait for types convertible to any number of Lua values.

UserData

Trait for custom userdata types.

Type Definitions

Integer

Type of Lua integer numbers.

Number

Type of Lua floating point numbers.

Result

A specialized Result type used by rlua's API.