#options #any

any-opt

简单宏,用于从选项列表中获取第一个值

2个稳定版本

1.0.1 2019年10月9日

#2805 in Rust模式

Apache-2.0/MIT

4KB

关于

简单包,提供了一个宏,用于从选项列表中获取返回值的第一个选项

许可证

根据您的要求,许可协议可以是以下之一

任选其一。


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);
}

无运行时依赖