Macro ezlua::impl_toluamulti
source · macro_rules! impl_toluamulti { ($t:ty as $as:ty: |$self:ident| $map:expr) => { ... }; }
Expand description
Helper macro to impl ToLuaMulti for types which can convert to another type implemented ToLuaMulti easily
use std::process::{Command, ExitStatus};
struct CmdExitStatus(ExitStatus);
ezlua::impl_toluamulti! {
CmdExitStatus as (bool, Option<i32>): |self| (self.0.success(), self.0.code())
}
lua.global()
.set_closure("execute", |cmd: &str, args: MultiRet<&str>| {
Command::new(cmd).args(args.0).status().map(CmdExitStatus)
})?;
lua.do_string("print(execute('ls', '-l'))", None)?; // true 0