From d3b2feabeee8b98a8418425946ca8e4b642eda2d Mon Sep 17 00:00:00 2001 From: Spartucus Date: Wed, 6 Dec 2017 16:07:05 +0800 Subject: [PATCH] Refactor translation --- src/ch13-02-iterators.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch13-02-iterators.md b/src/ch13-02-iterators.md index 8fe2156..5711296 100644 --- a/src/ch13-02-iterators.md +++ b/src/ch13-02-iterators.md @@ -99,7 +99,7 @@ fn iterator_sum() { ### `Iterator` trait 中产生其他迭代器的方法 -`Iterator` trait 中定义的另一类方法会产生其他的迭代器。这些方法被称为 **迭代器适配器**(*iterator adaptors*),他们允许我们将当前迭代器变为不同类型的迭代器。可以链式调用多个迭代器适配器。不过因为所有的迭代器都是惰性的,必须调用一个消费适配器方法以便获取迭代器适配器调用的结果。示例 13-17 展示了一个调用迭代器适配器方法 `map` 的例子,它会获取一个 `map` 会在每一个项上调用的闭包来产生一个新迭代器,它的每一项为 vector 中每一项加一。不过这些代码会产生一个警告: +`Iterator` trait 中定义的另一类方法会产生其他的迭代器。这些方法被称为 **迭代器适配器**(*iterator adaptors*),他们允许我们将当前迭代器变为不同类型的迭代器。可以链式调用多个迭代器适配器。不过因为所有的迭代器都是惰性的,必须调用一个消费适配器方法以便获取迭代器适配器调用的结果。示例 13-17 展示了一个调用迭代器适配器方法 `map` 的例子,该 `map` 方法使用闭包来调用每个元素以生成新的迭代器。 这里的闭包创建了一个新的迭代器,其中 `vector` 中的每个元素都被加1。不过这些代码会产生一个警告: 文件名: src/main.rs @@ -334,4 +334,4 @@ fn using_other_iterator_trait_methods() { 注意 `zip` 只产生4对值;理论上第五对值 `(5, None)` 从未被产生,因为 `zip` 在任一输入迭代器返回 `None` 时也返回 `None`。 -所有这些方法调用都是可能的,因为我们通过指定 `next` 如何工作来实现 `Iterator` trait 而标准库则提供其他调用 `next` 的默认方法实现。 \ No newline at end of file +所有这些方法调用都是可能的,因为我们通过指定 `next` 如何工作来实现 `Iterator` trait 而标准库则提供其他调用 `next` 的默认方法实现。