hed*_*017 5 reflection debugging macros logging rust
有办法做到这一点吗?
self.mega_ultra_field = 100500;
print_expr_and_value!(self.mega_ultra_field);
Run Code Online (Sandbox Code Playgroud)
输出:
self.mega_ultra_field 100500
Run Code Online (Sandbox Code Playgroud)
通过stringify!:
macro_rules! print_expr_and_value {
($e:expr) => {
println!("{} {}", stringify!($e), $e)
};
}
Run Code Online (Sandbox Code Playgroud)
struct Foo {
mega_ultra_field: i32,
}
impl Foo {
fn bar(&mut self) {
self.mega_ultra_field = 100500;
print_expr_and_value!(self.mega_ultra_field);
}
}
fn main() {
Foo {
mega_ultra_field: 0,
}.bar();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |