Struct rlua::Lua [] [src]

pub struct Lua { /* fields omitted */ }

Top level Lua struct which holds the Lua state itself.

Methods

impl Lua
[src]

[src]

Creates a new Lua state and loads standard library without the debug library.

[src]

Creates a new Lua state and loads the standard library including the debug library.

The debug library is very unsound, loading it and using it breaks all the guarantees of rlua.

[src]

Loads a chunk of Lua code and returns it as a function.

The source can be named by setting the name parameter. This is generally recommended as it results in better error traces.

Equivalent to Lua's load function.

[src]

Execute a chunk of Lua code.

This is equivalent to simply loading the source with load and then calling the resulting function with no arguments.

Returns the values returned by the chunk.

[src]

Evaluate the given expression or chunk inside this Lua state.

If source is an expression, returns the value it evaluates to. Otherwise, returns the values returned by the chunk (if any).

[src]

Pass a &str slice to Lua, creating and returning an interned Lua string.

[src]

Creates and returns a new table.

[src]

Creates a table and fills it with values from an iterator.

[src]

Creates a table from an iterator of values, using 1.. as the keys.

[src]

Wraps a Rust function or closure, creating a callable Lua function handle to it.

Examples

Create a function which prints its argument:

let lua = Lua::new();

let greet = lua.create_function(|_, name: String| {
    println!("Hello, {}!", name);
    Ok(())
});

Use tuples to accept multiple arguments:

let lua = Lua::new();

let print_person = lua.create_function(|_, (name, age): (String, u8)| {
    println!("{} is {} years old!", name, age);
    Ok(())
});

[src]

Wraps a Lua function into a new thread (or coroutine).

Equivalent to coroutine.create.

[src]

Create a Lua userdata object from a custom userdata type.

[src]

Returns a handle to the global environment.

[src]

Coerces a Lua value to a string.

The value must be a string (in which case this is a no-op) or a number.

[src]

Coerces a Lua value to an integer.

The value must be an integer, or a floating point number or a string that can be converted to an integer. Refer to the Lua manual for details.

[src]

Coerce a Lua value to a number.

The value must be a number or a string that can be converted to a number. Refer to the Lua manual for details.

[src]

Converts a value that implements ToLua into a Value instance.

[src]

Converts a Value instance into a value that implements FromLua.

[src]

Converts a value that implements ToLuaMulti into a MultiValue instance.

[src]

Converts a MultiValue instance into a value that implements FromLuaMulti.

[src]

Set a value in the Lua registry based on a string name.

This value will be available to rust from all Lua instances which share the same main state.

[src]

Get a value from the Lua registry based on a string name.

Any Lua instance which shares the underlying main state may call named_registry_value to get a value previously set by set_named_registry_value.

[src]

Removes a named value in the Lua registry.

Equivalent to calling Lua::set_named_registry_value with a value of Nil.

[src]

Place a value in the Lua registry with an auto-generated key.

This value will be available to rust from all Lua instances which share the same main state. The value will NOT be automatically removed when the RegistryKey is dropped, you MUST call remove_registry_value to remove it.

[src]

Get a value from the Lua registry by its RegistryKey

Any Lua instance which shares the underlying main state may call registry_value to get a value previously placed by create_registry_value.

[src]

Removes a value from the Lua registry.

You MUST call this function to remove a value placed in the registry with create_registry_value

Trait Implementations

impl Drop for Lua
[src]

[src]

Executes the destructor for this type. Read more