Trait rlua::TableExt

source ·
pub trait TableExt<'lua>: Sealed {
    // Required methods
    fn call<A, R>(&self, args: A) -> Result<R, Error>
       where A: IntoLuaMulti<'lua>,
             R: FromLuaMulti<'lua>;
    fn call_method<A, R>(&self, name: &str, args: A) -> Result<R, Error>
       where A: IntoLuaMulti<'lua>,
             R: FromLuaMulti<'lua>;
    fn call_function<A, R>(&self, name: &str, args: A) -> Result<R, Error>
       where A: IntoLuaMulti<'lua>,
             R: FromLuaMulti<'lua>;
}
Expand description

An extension trait for Tables that provides a variety of convenient functionality.

Required Methods§

source

fn call<A, R>(&self, args: A) -> Result<R, Error>
where A: IntoLuaMulti<'lua>, R: FromLuaMulti<'lua>,

Calls the table as function assuming it has __call metamethod.

The metamethod is called with the table as its first argument, followed by the passed arguments.

source

fn call_method<A, R>(&self, name: &str, args: A) -> Result<R, Error>
where A: IntoLuaMulti<'lua>, R: FromLuaMulti<'lua>,

Gets the function associated to key from the table and executes it, passing the table itself along with args as function arguments.

This is a shortcut for table.get::<_, Function>(key)?.call((table.clone(), arg1, ..., argN))

This might invoke the __index metamethod.

source

fn call_function<A, R>(&self, name: &str, args: A) -> Result<R, Error>
where A: IntoLuaMulti<'lua>, R: FromLuaMulti<'lua>,

Gets the function associated to key from the table and executes it, passing args as function arguments.

This is a shortcut for table.get::<_, Function>(key)?.call(args)

This might invoke the __index metamethod.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'lua> TableExt<'lua> for Table<'lua>