|
|
|
@ -406,9 +406,9 @@ assert_eq!(18, sum);
|
|
|
|
|
|
|
|
|
|
其中 `zip`,`map`,`filter` 是迭代器适配器:
|
|
|
|
|
|
|
|
|
|
- `zip` 把两个迭代器合并成一个迭代器,新迭代器中,每个元素都是一个元组,由之前两个迭代器的元素组成。例如将**形如** `[1, 2, 3]` 和 `[4, 5, 6]` 的迭代器合并后,新的迭代器形如 `[(1, 4),(2, 5),(3, 6)]`
|
|
|
|
|
- `map` 是将迭代器中的值经过映射后,转换成新的值
|
|
|
|
|
- `filter` 对迭代器中的元素进行过滤,若闭包返回 `true` 则保留元素,反之剔除
|
|
|
|
|
- `zip` 把两个迭代器合并成一个迭代器,新迭代器中,每个元素都是一个元组,由之前两个迭代器的元素组成。例如将**形如** `[1, 2, 3, 4, 5]` 和 `[2, 3, 4, 5]` 的迭代器合并后,新的迭代器形如 `[(1, 2),(2, 3),(3, 4),(4, 5)]`
|
|
|
|
|
- `map` 是将迭代器中的值经过映射后,转换成新的值[2, 6, 12, 20]
|
|
|
|
|
- `filter` 对迭代器中的元素进行过滤,若闭包返回 `true` 则保留元素[6, 12],反之剔除
|
|
|
|
|
|
|
|
|
|
而 `sum` 是消费者适配器,对迭代器中的所有元素求和,最终返回一个 `u32` 值 `18`。
|
|
|
|
|
|
|
|
|
|