From 17c078afafa361f664e551c2f4fb45cf83c452ff Mon Sep 17 00:00:00 2001 From: Wang Zishi Date: Thu, 22 Jun 2017 10:45:39 +0800 Subject: [PATCH] Update ch08-02-strings.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改错字 --- src/ch08-02-strings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch08-02-strings.md b/src/ch08-02-strings.md index 6a5e17e..4f75ab0 100644 --- a/src/ch08-02-strings.md +++ b/src/ch08-02-strings.md @@ -182,7 +182,7 @@ let hello = "Здравствуйте"; let answer = &hello[0]; ``` -`answer`的值应该是什么呢?它应该是第一个字符`З`吗?当使用 UTF-8 编码时,`З`的第一个字节是`208`,第二个是`151`,所以`answer`实际上应该是`208`,不过`208`自身并不是一个有效的字母。返回`208`可不是一个请求字符串第一个字母的人所希望看到的,不过它是 Rust 在字节索引零位置所能提供的唯一数据。返回字节值可能不是人们希望看到的,即便是只有拉丁字母时:`&"hello"[0]`会返回`104`而不是`h`。为了避免返回意想不到值并造成不能立刻发现的 bug。Rust 选择不编译这些代码并及早杜绝了误会的放生。 +`answer`的值应该是什么呢?它应该是第一个字符`З`吗?当使用 UTF-8 编码时,`З`的第一个字节是`208`,第二个是`151`,所以`answer`实际上应该是`208`,不过`208`自身并不是一个有效的字母。返回`208`可不是一个请求字符串第一个字母的人所希望看到的,不过它是 Rust 在字节索引零位置所能提供的唯一数据。返回字节值可能不是人们希望看到的,即便是只有拉丁字母时:`&"hello"[0]`会返回`104`而不是`h`。为了避免返回意想不到值并造成不能立刻发现的 bug。Rust 选择不编译这些代码并及早杜绝了误会的发生。 #### 字节、标量值和字形簇!天呐! @@ -283,4 +283,4 @@ for b in "नमस्ते".bytes() { 总而言之,字符串还是很复杂的。不同的语言选择了不同的向程序员展示其复杂性的方式。Rust 选择了以准确的方式处理`String`数据作为所有 Rust 程序的默认行为,这意味着程序员们必须更多的思考如何在前台处理 UTF-8 数据。这种权衡取舍相比其他语言更多的暴露出了字符串的复杂性,不过也使你在开发生命周期中免于处理涉及非 ASCII 字符的错误。 -现在让我们转向一些不太复杂的集合:哈希 map! \ No newline at end of file +现在让我们转向一些不太复杂的集合:哈希 map!