Struct rlua::Function
[−]
[src]
pub struct Function<'lua>(_);
Handle to an internal Lua function.
Methods
impl<'lua> Function<'lua>
[src]
fn call<A: ToLuaMulti<'lua>, R: FromLuaMulti<'lua>>(&self, args: A) -> Result<R>
[src]
Calls the function, passing args
as function arguments.
The function's return values are converted to the generic type R
.
Examples
Call Lua's built-in tostring
function:
let lua = Lua::new(); let globals = lua.globals(); let tostring: Function = globals.get("tostring")?; assert_eq!(tostring.call::<_, String>(123)?, "123");
Call a function with multiple arguments:
let lua = Lua::new(); let sum: Function = lua.eval(r#" function(a, b) return a + b end "#, None)?; assert_eq!(sum.call::<_, u32>((3, 4))?, 3 + 4);
fn bind<A: ToLuaMulti<'lua>>(&self, args: A) -> Result<Function<'lua>>
[src]
Returns a function that, when called, calls self
, passing args
as the first set of
arguments.
If any arguments are passed to the returned function, they will be passed after args
.
Examples
let lua = Lua::new(); let sum: Function = lua.eval(r#" function(a, b) return a + b end "#, None)?; let bound_a = sum.bind(1)?; assert_eq!(bound_a.call::<_, u32>(2)?, 1 + 2); let bound_a_and_b = sum.bind(13)?.bind(57)?; assert_eq!(bound_a_and_b.call::<_, u32>(())?, 13 + 57);
Trait Implementations
impl<'lua> Clone for Function<'lua>
[src]
fn clone(&self) -> Function<'lua>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more