From 9677eb732a09c3c17e16a9ad3a40733153e87671 Mon Sep 17 00:00:00 2001
From: Kunhao ZHENG <39208702+DyeKuu@users.noreply.github.com>
Date: Wed, 3 Jun 2020 22:58:34 +0200
Subject: [PATCH 1/2] Update ch13-03-improving-our-io-project.md
---
src/ch13-03-improving-our-io-project.md | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/ch13-03-improving-our-io-project.md b/src/ch13-03-improving-our-io-project.md
index d8d48b9..a1600fc 100644
--- a/src/ch13-03-improving-our-io-project.md
+++ b/src/ch13-03-improving-our-io-project.md
@@ -81,6 +81,22 @@ fn main() {
文件名: src/lib.rs
+```rust,ignore
+impl Config {
+ pub fn new(mut args: std::env::Args) -> Result {
+ // --snip--
+```
+
+示例 13-26:更新 `Config::new` 的签名以迭代器作为参数
+
+`env::args` 函数的标准库文档显示,它返回的迭代器的类型为 `std::env::Args`。我们已经更新了 `Config :: new` 函数的签名,因此参数 `args` 的类型为 `std::env::Args` 而不是 `&[String]`。因为我们拥有 `args` 的所有权,并且将通过对其进行迭代来改变 `args` ,所以我们可以将 `mut` 关键字添加到 `args` 参数的规范中以使其可变。
+
+#### 使用 `Iterator` trait 代替索引
+
+接下来,我们将修改 `Config::new` 的内容。标准库文档还提到 `std::env::Args` 实现了 `Iterator` trait,因此我们知道可以对其调用 `next` 方法!示例 13-27 更新了示例 12-23 中的代码,以使用 `next` 方法:
+
+文件名: src/lib.rs
+
```rust
# fn main() {}
# use std::env;
From 866b46b146317c563d4fd7efbd845049f74e471d Mon Sep 17 00:00:00 2001
From: Kunhao ZHENG <39208702+DyeKuu@users.noreply.github.com>
Date: Wed, 3 Jun 2020 23:00:48 +0200
Subject: [PATCH 2/2] Update ch13-03-improving-our-io-project.md
---
src/ch13-03-improving-our-io-project.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ch13-03-improving-our-io-project.md b/src/ch13-03-improving-our-io-project.md
index a1600fc..7c4545c 100644
--- a/src/ch13-03-improving-our-io-project.md
+++ b/src/ch13-03-improving-our-io-project.md
@@ -87,7 +87,7 @@ impl Config {
// --snip--
```
-示例 13-26:更新 `Config::new` 的签名以迭代器作为参数
+示例 13-26:以迭代器作为参数更新 `Config::new` 的签名
`env::args` 函数的标准库文档显示,它返回的迭代器的类型为 `std::env::Args`。我们已经更新了 `Config :: new` 函数的签名,因此参数 `args` 的类型为 `std::env::Args` 而不是 `&[String]`。因为我们拥有 `args` 的所有权,并且将通过对其进行迭代来改变 `args` ,所以我们可以将 `mut` 关键字添加到 `args` 参数的规范中以使其可变。