1 个不稳定版本
使用旧 Rust 2015
0.1.0 | 2015 年 12 月 3 日 |
---|
#4 在 #libstd
3KB
索马
一个简单的宏,用于简化 Rust 中的 Option
处理。
这是我针对 RFC 1303 问题的回答。
安装
与其他 Crates 一样,您应该使用 cargo-edit
,然后
cargo add soma
使用
这相当于 try!
宏,来自 libstd
#[macro_use]
extern crate soma;
// …
let foo: Option<usize> = // …
let bar: usize = try_some!(foo); // This will return with `None` if `foo` is
// `None`
// equivalent to:
//
// let bar: usize = match foo {
// Some(val) => val,
// None => return None,
// }
let baz: usize - try_some!(foo => return); // This will break execution if `foo`
// is `None`
// equivalent to
//
// let baz: usize = match foo {
// Some(val) => val,
// None => return,
// }
许可证
查看 LICENSE 文件。