1 个稳定版本

1.0.0 2024年6月17日

#4 in #returning


7 个 crate 中使用 (3 直接使用)

MIT 许可证

3KB

possibly

一个名为 possibly!() 的导出宏,它类似于 std::matches!(),但允许在值匹配时返回值。

如果你想在处理额外情况的同时使用模式匹配,这可能很有用。

结果被包裹在一个 Option 中。

使用方法

use possibly::possibly;

enum MyEnum {
    Foo(u32),
    Bar
}

let value = MyEnum::Foo(1);

// basic usage with simple match arm
assert_eq!(
    possibly!(value, MyEnum::Foo(b) => b), 
    Some(1)
);

// with match arm condition
assert_eq!(
    possibly!(value, MyEnum::Foo(b) if i > 5 => b),
    None
);

无运行时依赖