2个稳定版本
1.0.1 | 2019年10月9日 |
---|
#2805 in Rust模式
4KB
关于
简单包,提供了一个宏,用于从选项列表中获取返回值的第一个选项
许可证
根据您的要求,许可协议可以是以下之一
- Apache许可证第2版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。
lib.rs
:
此包导出宏,可以将多个选项链在一起,从左到右检索第一个返回值为 Some
的项
每个项都是按需评估的,但为了实现这一点,在传递闭包时有一个限制:您必须在传递项时调用它们
示例
fn my_fn<T>() -> Option<T> { None }
fn main() {
let opt = Some(3);
let v = any_opt!((|| None)(), my_fn(), Some(13), Some(55), None, Some(42), opt).unwrap_or_default();
assert_eq!(v, 13);
}