1 个不稳定版本
0.1.0 | 2024年7月1日 |
---|
#4 在 #unwrap
7KB
73 行
maflow
简单的 Macro,改变开发流程
kill!( flow )
引发恐慌exit!( flow )
返回::default()
next!( flow )
继续hold!( flow )
断言
Flow 可以是
- Option
..!{ inner = option }
与if Some(inner) = option {..}
- Result
..!{ inner = result }
与if Ok(inner) = option {..}
- bool
..!{ if bool }
与if bool {..}
示例
[dependencies]
maflow = "0.1"
use maflow::*;
fn main(){
// Options and Results
let some = Some(true);
kill!{is_true = some} // same as .unwrap()
exit!{is_true = some} // returns default() if None => ()
for i in 0..9 {
next!{is_true = some} // continues if None
hold!{is_true = some} // breaks if None
if is_true {}
}
// Conditional
let is_true = true;
kill!{if is_true} // panics if ..
exit!{if is_true} // returns default() if ..
for i in 0..9 {
next!{if is_true} // continues if ..
hold!{if is_true} // breaks if ..
}
}
另外...
还实现了 YayNay
trait,用于 Result
、Option
和 bool
,具有这些方法
.yay()
返回true
,如果Ok(..)
Some(..)
或true
.nay()
对负数部分返回true
许可证
根据您选择的任何一种,在 Apache License, Version 2.0 或 MIT 许可证 下授权。除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此 crate 中的任何贡献,均应如上双许可,不附加任何额外条款或条件。