#iterator #maximum #product #collection #special #summation #collectors

collected

Rust 迭代器的求和、乘积、最大值等特殊收集器

6 个版本 (3 个重大更新)

0.4.0 2021 年 8 月 29 日
0.3.0 2021 年 6 月 17 日
0.2.0 2021 年 6 月 14 日
0.1.2 2021 年 3 月 27 日

#2306 in Rust 模式

每月 22 次下载

MIT 许可证

43KB
1.5K SLoC

Collected

从 Rust 迭代器中获取最大值、求和等集合类型。

用法

该包中的每个集合类型都实现了 FromIteratorExtendDefault 特性。它们可以通过 collect() 构建,并通过 extend() 更新。

例如,它可以通过单个步骤轻松使用 unzip() 计算迭代器的最大值和最小值。

use collected::{MaxVal, MinVal};
let (min, max): (MinVal<_>, MaxVal<_>) = vec![3, 1, 5, 2, 4, 3, 6]
    .into_iter()
    .map(|val| (val, val))
    .unzip();
assert_eq!(min.unwrap(), 1);
assert_eq!(max.unwrap(), 6);

许可证

MIT 许可证。请参阅 许可证文件


lib.rs:

从迭代器中获取最大值、求和等集合类型。

该包中的每个集合类型都实现了 FromIteratorExtendDefault 特性。它们可以通过 collect() 构建,并通过 extend() 更新。

例如,它可以通过单个步骤轻松使用 unzip() 计算迭代器的最大值和最小值。

use collected::{MaxVal, MinVal};
let (min, max): (MinVal<_>, MaxVal<_>) = vec![3, 1, 5, 2, 4, 3, 6]
    .into_iter()
    .map(|val| (val, val))
    .unzip();
assert_eq!(min.unwrap(), 1);
assert_eq!(max.unwrap(), 6);

依赖项

~1.5MB
~25K SLoC