2 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年4月7日 |
---|---|
0.0.1 | 2017年4月5日 |
#2968 在 Rust 模式
每月105 次下载
7KB
61 行
wrap
通用 Rust 包装宏
定义通用 包装器
的宏,并将它们应用于任意函数。请参阅 examples
。
简单用法
#[macro_use] extern crate wrap;
def_wrapper!{log1 =
before = (fn_args) >> {
println!("* [log-1] >> before everything! fn_args: {:?}", fn_args);
};
after = (wrapped_result) >> {
println!("* [log-1] >> after everything! wrapped_result: {:?}", wrapped_result);
};
}
def_wrapper!{log2 =
before = (fn_args) >> {
println!("* [log-2] >> before everything! fn_args: {:?}", fn_args);
};
after = (wrapped_result) >> {
println!("* [log-2] >> after everything! wrapped_result: {:?}", wrapped_result);
};
}
wrap_with!{log1 >>
fn greet_logged_inner(name: &str) -> String = {
format!("How are you, {}?", name)
}}
wrap_with!{log2 >>
fn greet_logged(name: &str) -> String = {
format!("Hello! {}", greet_logged_inner(name))
}}
pub fn main() {
println!("{}", greet_logged("james"));
}