From cc21e28e957d3983e5e88937ef28a56e721d987e Mon Sep 17 00:00:00 2001 From: Sprite Date: Mon, 16 Aug 2021 19:59:11 +0800 Subject: [PATCH 1/2] Improve translation grammar --- src/ch10-01-syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch10-01-syntax.md b/src/ch10-01-syntax.md index 44ec280..cce10a0 100644 --- a/src/ch10-01-syntax.md +++ b/src/ch10-01-syntax.md @@ -212,7 +212,7 @@ enum Result { } ``` -`Result` 枚举有两个泛型类型,`T` 和 `E`。`Result` 有两个成员:`Ok`,它存放一个类型 `T` 的值,而 `Err` 则存放一个类型 `E` 的值。这个定义使得 `Result` 枚举能很方便的表达任何可能成功(返回 `T` 类型的值)也可能失败(返回 `E` 类型的值)的操作。实际上,这就是我们在示例 9-3 用来打开文件的方式:当成功打开文件的时候,`T` 对应的是 `std::fs::File` 类型;而当打开文件时出现问题时,`E` 的值则是 `std::io::Error` 类型。 +`Result` 枚举有两个泛型类型,`T` 和 `E`。`Result` 有两个成员:`Ok`,它存放一个类型 `T` 的值,而 `Err` 则存放一个类型 `E` 的值。这个定义使得 `Result` 枚举能很方便的表达任何可能成功(返回 `T` 类型的值)也可能失败(返回 `E` 类型的值)的操作。实际上,这就是我们在示例 9-3 用来打开文件的方式:当成功打开文件的时候,`T` 对应的是 `std::fs::File` 类型;而当打开文件出现问题时,`E` 的值则是 `std::io::Error` 类型。 当你意识到代码中定义了多个结构体或枚举,它们不一样的地方只是其中的值的类型的时候,不妨通过泛型类型来避免重复。 From eb04a192d11e0377d5f2d1a14b2c88eaa6db9f97 Mon Sep 17 00:00:00 2001 From: Sprite Date: Mon, 16 Aug 2021 19:59:17 +0800 Subject: [PATCH 2/2] Correct a translation error --- src/ch10-02-traits.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch10-02-traits.md b/src/ch10-02-traits.md index ec5a1f4..4482b5a 100644 --- a/src/ch10-02-traits.md +++ b/src/ch10-02-traits.md @@ -155,7 +155,7 @@ impl Summary for Tweet { } ``` -一旦定义了 `summarize_author`,我们就可以对 `Tweet` 结构体的实例调用 `summarize` 了,而 `summary` 的默认实现会调用我们提供的 `summarize_author` 定义。因为实现了 `summarize_author`,`Summary` trait 就提供了 `summarize` 方法的功能,且无需编写更多的代码。 +一旦定义了 `summarize_author`,我们就可以对 `Tweet` 结构体的实例调用 `summarize` 了,而 `summarize` 的默认实现会调用我们提供的 `summarize_author` 定义。因为实现了 `summarize_author`,`Summary` trait 就提供了 `summarize` 方法的功能,且无需编写更多的代码。 ```rust,ignore let tweet = Tweet {