From 984edcae090131f31771c0896340e6d8ed481e5c Mon Sep 17 00:00:00 2001 From: lyrachord Date: Sun, 28 Jan 2018 19:43:13 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E9=80=9A=E7=94=A8=20?= =?UTF-8?q?=E4=B8=BA=20=E5=B8=B8=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 仅仅是建议修改通用。很多语言的概念已经严重过时。比如keyword,在精确语法中(context-sensitive)根本就没有keyword这一说。建议不要局限在老东西上,工作更有价值 --- src/ch03-00-common-programming-concepts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch03-00-common-programming-concepts.md b/src/ch03-00-common-programming-concepts.md index 5b6cd65..bfd145a 100644 --- a/src/ch03-00-common-programming-concepts.md +++ b/src/ch03-00-common-programming-concepts.md @@ -1,4 +1,4 @@ -# 通用编程概念 +# 常见编程概念 > [ch03-00-common-programming-concepts.md](https://github.com/rust-lang/book/blob/master/second-edition/src/ch03-00-common-programming-concepts.md) >
From e83d020d5969dfa287d7379ea2ca6bba2ddbf36d Mon Sep 17 00:00:00 2001 From: Deshi Xiao Date: Thu, 1 Feb 2018 13:48:29 +0800 Subject: [PATCH 2/3] fix typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit s/只能/智能/ --- src/ch15-02-deref.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch15-02-deref.md b/src/ch15-02-deref.md index c0e0ef3..56a27d4 100644 --- a/src/ch15-02-deref.md +++ b/src/ch15-02-deref.md @@ -99,7 +99,7 @@ fn main() { ### 自定义智能指针 -为了体会默认智能指针的行为不同于引用,让我们创建一个类似于标准库提供的 `Box` 类型的只能指针。接着会学习如何增加使用解引用运算符的功能。 +为了体会默认智能指针的行为不同于引用,让我们创建一个类似于标准库提供的 `Box` 类型的智能指针。接着会学习如何增加使用解引用运算符的功能。 从根本上说,`Box` 被定义为包含一个元素的元组结构体,所以示例 15-10 以相同的方式定义了 `MyBox` 类型。我们还定义了 `new` 函数来对应定义于 `Box` 的 `new` 函数: From 538b49620a8c93abdfc088e0214bb72e21afea02 Mon Sep 17 00:00:00 2001 From: Deshi Xiao Date: Thu, 1 Feb 2018 15:27:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=8E=AA=E8=BE=9E=E9=9A=BE=E4=BB=A5?= =?UTF-8?q?=E7=90=86=E8=A7=A3=EF=BC=8C=E6=B6=A6=E8=89=B2=E5=AE=8C=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E7=90=86=E8=A7=A3=E6=9B=B4=E4=BD=B3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 其中,修正一个typo, s/价差的/检查的/ --- src/ch15-05-interior-mutability.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch15-05-interior-mutability.md b/src/ch15-05-interior-mutability.md index 68c0909..d827cc0 100644 --- a/src/ch15-05-interior-mutability.md +++ b/src/ch15-05-interior-mutability.md @@ -56,8 +56,8 @@ RefCell is, perhaps a succinct round up would help? --> 如下为选择 `Box`,`Rc` 或 `RefCell` 的理由: - `Rc` 允许相同数据有多个所有者;`Box` 和 `RefCell` 有单一所有者。 -- `Box` 允许在编译时检查的不可变或可变借用;`RefCell` 允许在运行时价差的不可变或可变借用 -- 因为 `RefCell` 允许在运行时检查的可变借用,可以在即便 `RefCell` 自身是不可变的情况下修改其内部的值。 +- `Box` 允许在编译时执行不可变(或可变)借用检查;`Rc`仅允许在编译时执行不可变借用检查;`RefCell` 允许在运行时执行不可变(或可变)借用检查。 +- 因为 `RefCell` 允许在运行时执行可变借用检查,所以我们可以在即便 `RefCell` 自身是不可变的情况下修改其内部的值。 最有一个理由便是指 **内部可变性** 模式。让我们看看何时内部可变性是有用的,并讨论这是如何成为可能的。