5 个版本 (重大更改)

使用旧的 Rust 2015

0.5.0 2023 年 4 月 26 日
0.4.0 2019 年 10 月 25 日
0.3.0 2018 年 12 月 19 日
0.2.0 2018 年 10 月 29 日
0.1.0 2018 年 2 月 22 日

算法 中排名第 208

Download history 1152/week @ 2024-03-13 1537/week @ 2024-03-20 2279/week @ 2024-03-27 1437/week @ 2024-04-03 1109/week @ 2024-04-10 1091/week @ 2024-04-17 1215/week @ 2024-04-24 1134/week @ 2024-05-01 1096/week @ 2024-05-08 1404/week @ 2024-05-15 1472/week @ 2024-05-22 1272/week @ 2024-05-29 1109/week @ 2024-06-05 1266/week @ 2024-06-12 1096/week @ 2024-06-19 957/week @ 2024-06-26

每月下载量 4,651
用于 68 个包 (直接使用 31 个)

MPL-2.0 许可证

64KB
1K SLoC

resiter

一组有助于迭代 Result<T, E> 的迭代适配器。

示例

以下是一些你可以用这个库做的事情的示例。

  • Iterator<Item = Result<T, E>> 中更改 T
iter.map(|r| r.map(|a| alter(a))) // stdlib
iter.map_ok(|a| alter(a))         // resiter
  • 使用可能会失败的功能在 Iterator<Item = Result<T, E>> 中更改 T
iter.map(|r| r.and_then(|a| alter(a))) // stdlib
iter.and_then_ok(|a| alter(a))         // resiter
  • Iterator<Item = Result<Option<T>, E>> 中解包 T
iter.map(|r| r.and_then(|o| o.ok_or_else(|| error()))) // stdlib
iter.inner_ok_or_else(|| error())                      // resiter
  • Iterator<Item = Result<T, E>> 中为每个错误执行代码
iter.map(|r| if let Err(e) = r { foo(); Err(e) } else { r })) // stdlib
iter.map(|r| r.map_err(|e| { foo(); e }))                     // stdlib
iter.on_err(|e| foo())                                        // resiter

许可证

MPL 2.0

无运行时依赖