1 个不稳定版本
0.1.0 | 2022 年 8 月 2 日 |
---|
#1929 在 Rust 模式
5KB
96 行
README
Option
和 Result
的控制宏。
帮助您将此内容
fn returns_early_with_value(input: Result<i32, String>) {
// Early return when something is wrong.
let input: i32 = match input {
Ok(value) => value,
Err(_) => return,
};
// Use it normally below...
println!("Input is: {}", input);
}
转换为
use ctrl_macros::{ok_or_return};
fn returns_early_with_value(input: Result<i32, String>) {
let input: i32 = ok_or_return!(input);
println!("Input is: {}", input);
}
示例
let x = ok_or!(x, return 42);
for i in 0..5 {
let x = ok_or_continue!(x);
}
for i in 0..5 {
let x = ok_or_break!(x);
}
和 some_or
等价表达式
some_or!
some_or_return!
some_or_continue!
some_or_break!
许可证
ctrl_macros
可在以下许可证下使用双许可协议:
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache 许可协议,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0),任选其一。
除非您明确声明,否则根据 Apache-2.0 许可协议定义的,您有意提交以包含在工作中的任何贡献,都应以上述双许可协议使用,不附加任何其他条款或条件。