From 31e9c16e03eb3c50413b216ce86a4e1519843488 Mon Sep 17 00:00:00 2001 From: Unisko PENG Date: Mon, 17 Apr 2023 16:49:33 +0800 Subject: [PATCH] Update Ch10 --- src/Ch10_Generic_Types_Traits_and_Lifetimes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md index 19439df..c316cb0 100644 --- a/src/Ch10_Generic_Types_Traits_and_Lifetimes.md +++ b/src/Ch10_Generic_Types_Traits_and_Lifetimes.md @@ -884,9 +884,9 @@ fn main() { } ``` -*清单 10-16:一个使用了值已超出作用域引用的尝试* +*清单 10-16:使用了其值已超出作用域引用的尝试* -> 注意:清单 10-16、10-17 及 10-23 中的示例,都不带初始值地声明了一些变量,那么变量名就存在于外层作用域中。咋一看,这样做似乎与 Rust 的无空值(Rust's having no `null` values)特性相抵触。不过,在尝试于赋予变量值之前使用某个变量,就会得到一个编译器时错误,这样就表示 Rust 实际上是不允许空值(`null` values) 的。 +> 注意:清单 10-16、10-17 及 10-23 中的示例,均在不带变量初始值下,声明出了一些变量,而变量名存在于外层作用域中。乍一看,这样做似乎与 Rust 的无空值,Rust's having no `null` values,特性相抵触。不过,当咱们尝试于赋予变量值之前,使用某个变量,就会得到一个编译器时报错,这就表示 Rust 实际上是不允许空值的。 外层作用域声明了一个名为 `r` 不带初始值的变量,同时内层作用域声明了一个名为 `x` 带有初始值 `5` 的变量。在那个内层作用域里头,这里尝试了将 `r` 的值设置为到 `x` 的一个引用。随后那个内层作用域便结束了,而这里尝试打印 `r` 中的值。由于 `r` 所指向的值,在这里尝试使用之前就已超出作用域,因此此代码不会编译。下面就是错误消息: