1 个不稳定版本
0.1.0 | 2019 年 1 月 27 日 |
---|
#15 在 #chains
3KB
iff.rs
一个宏,用于 if / if let 链,直到 RFC 2497 实现。
用法
use iff::iff;
fn go(var: Option<Vec<i32>>) {
print!("{:?}", var);
iff! {
let Some(x) = var,
let [y, _] = &*x,
*y == 0 => {
print!(" => ok")
}
}
println!("");
}
fn main() {
go(None);
go(Some(vec![]));
go(Some(vec![0]));
go(Some(vec![0, 1]));
go(Some(vec![0, 1, 2]));
}
输出
None
Some([])
Some([0])
Some([0, 1]) => ok
Some([0, 1, 2])