diff options
author | Jonas Schievink <jonasschievink@gmail.com> | 2017-07-25 00:05:36 +0200 |
---|---|---|
committer | Jonas Schievink <jonasschievink@gmail.com> | 2017-07-25 00:05:36 +0200 |
commit | 59ab95f6ffd4d9f2eaf6de462230a7c07430658a (patch) | |
tree | 724e6c9e12e839eb45e9be3e36c1b20c63dc3de1 | |
parent | 63e0587d2665fd2abc732f0c55e89868f3a8a2d4 (diff) | |
download | mlua-59ab95f6ffd4d9f2eaf6de462230a7c07430658a.zip |
Beef up Function::bind docs + example
-rw-r--r-- | src/lua.rs | 22 |
1 files changed, 14 insertions, 8 deletions
@@ -498,9 +498,11 @@ impl<'lua> Function<'lua> { } } - /// Returns a function that, when called with no arguments, calls `self`, passing `args` as + /// 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`. + /// /// # Example /// /// ``` @@ -508,15 +510,19 @@ impl<'lua> Function<'lua> { /// # use rlua::{Lua, Function, Result}; /// # fn try_main() -> Result<()> { /// let lua = Lua::new(); - /// let globals = lua.globals(); /// - /// // Bind the argument `123` to Lua's `tostring` function - /// let tostring: Function = globals.get("tostring")?; - /// let tostring_123: Function = tostring.bind(123i32)?; + /// 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); /// - /// // Now we can call `tostring_123` without arguments to get the result of `tostring(123)` - /// let result: String = tostring_123.call(())?; - /// assert_eq!(result, "123"); /// # Ok(()) /// # } /// # fn main() { |