From 3255cab4bdddde497809a840d4ef86f1f6500482 Mon Sep 17 00:00:00 2001 From: "Peng Hailin," Date: Wed, 12 Apr 2023 20:57:21 +0800 Subject: [PATCH] Update Ch10 --- src/Ch10_Generic_Types_Traits_and_Lifetimes.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md index a9d99a1..cbb8427 100644 --- a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md +++ b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md @@ -397,11 +397,12 @@ impl Point { } ``` -*清单 10-10:一个只适用于有着对于泛型参数 `` 的某种特定具体类型结构体的 `impl` 代码块* +*清单 10-10:只适用于有着特定具体类型泛型参数 `` 的结构体的一个 `impl` 代码块* -此代码表示类型 `Option` 将有着一个 `distance_from_origin` 方法;别的其中 `T, U` 不是 `f32` 的 `Option` 实例,就不会有这个定义的方法。该方法度量了这个点与坐标 `(0.0, 0.0)` 处点的距离,并使用了只对浮点数类型可以的数学运算。 +此代码表示类型 `Option` 将有一个 `distance_from_origin` 方法;其中 `T, U` 不是 `f32` 的其他 `Option` 实例,就不会被定义这个方法。该方法度量了咱们的点与坐标 `(0.0, 0.0)` 处点的距离,并使用了只对浮点数类型可行的数学运算。 -结构体定义中的泛型参数,并不总是与在同一结构体方法签名中所用的那些泛型参数相同。下面清单 10-11 就对 `Point` 结构体使用了泛型 `T` 与 `U`,对 `mixup` 方法签名,则使用了 `X Y`,来让这个示例更明显。该方法以来自 `self` `Point` 的 `x` 值(类型为 `T`),与来自传入的 `Point` 值的 `y` (类型为 `Y`),创建了一个新的 `Point`。 +结构体定义中的泛型参数,并不总与咱们在同一结构体方法签名中,所使用的那些泛型参数相同。为让示例更明确,下面清单 10-11 对 `Point` 结构体,使用了泛型 `T` 与 `U`,而对 `mixup` 方法签名则使用了 `X` `Y`。 +这个方法使用来自 `self` `Point` 的 `x` 值(类型为 `T`),与来自传入的那个 `Point` 值的 `y` (类型为 `Y`),创建出一个新的 `Point`。 文件名:`src/main.rs`