#pattern-match #match #macro #options #convert #partial #shorthand

match_opt

将部分匹配转换为完整匹配并返回 Option 的宏

3 个版本

0.1.2 2022年2月8日
0.1.1 2022年2月5日
0.1.0 2022年2月5日

Rust 模式 中排名 1961

Download history 5852/week @ 2024-04-08 8822/week @ 2024-04-15 8566/week @ 2024-04-22 6929/week @ 2024-04-29 8685/week @ 2024-05-06 9436/week @ 2024-05-13 8451/week @ 2024-05-20 7442/week @ 2024-05-27 8403/week @ 2024-06-03 9577/week @ 2024-06-10 8666/week @ 2024-06-17 10210/week @ 2024-06-24 6410/week @ 2024-07-01 7806/week @ 2024-07-08 7956/week @ 2024-07-15 6921/week @ 2024-07-22

每月下载量 29,467

MIT 许可证

5KB

match_opt 构建状态

match_opt 是一个宏,可以将部分模式匹配转换为返回 Option 的完整模式匹配。这可以用作简写,以简化复杂模式匹配,其中只有一两个情况是有用的。

例如

let some_results = vec!["1", "2", "3", "foo", "bar", "4"].map(|v| v.parse::<usize>());
let some_pattern_match = some_results.filter_map{|x| match x {
    Ok(v) if v > 2 => Some(v),
    _ => None,
}};
// this is equivalent to
let alternate_pattern_match = some_results.filter_map{|x| match_opt!(x, OK(v) if v > 2 => v)};

此软件包没有依赖项。

文档

API 可以在这里找到:here.

安装

将以下行添加到您的 Cargo.toml 依赖项中

match_opt = "0.1.0"

贡献者

此代码的作者是 François Garillot (@huitseeker).

许可证

本项目遵循 MIT 许可证

无运行时依赖