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
每月下载量 4,651 次
用于 68 个包 (直接使用 31 个)
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