Struct rlua::prelude::LuaFunction [−][src]
pub struct LuaFunction<'lua>(_);
Handle to an internal Lua function.
Methods
impl<'lua> Function<'lua>[src]
impl<'lua> Function<'lua>pub fn call<A: ToLuaMulti<'lua>, R: FromLuaMulti<'lua>>(
&self,
args: A
) -> Result<R>[src]
pub fn call<A: ToLuaMulti<'lua>, R: FromLuaMulti<'lua>>(
&self,
args: A
) -> Result<R>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);
pub fn bind<A: ToLuaMulti<'lua>>(&self, args: A) -> Result<Function<'lua>>[src]
pub fn bind<A: ToLuaMulti<'lua>>(&self, args: A) -> Result<Function<'lua>>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> ToLua<'lua> for Function<'lua>[src]
impl<'lua> ToLua<'lua> for Function<'lua>impl<'lua> FromLua<'lua> for Function<'lua>[src]
impl<'lua> FromLua<'lua> for Function<'lua>fn from_lua(value: Value<'lua>, _: &'lua Lua) -> Result<Function<'lua>>[src]
fn from_lua(value: Value<'lua>, _: &'lua Lua) -> Result<Function<'lua>>Performs the conversion.
impl<'lua> Clone for Function<'lua>[src]
impl<'lua> Clone for Function<'lua>fn clone(&self) -> Function<'lua>[src]
fn clone(&self) -> Function<'lua>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0
[src]Performs copy-assignment from source. Read more
impl<'lua> Debug for Function<'lua>[src]
impl<'lua> Debug for Function<'lua>