From 2498c9edd6547520c0c9a1b3651b167618d85f6e Mon Sep 17 00:00:00 2001 From: AsukaMinato Date: Sat, 22 Jan 2022 21:50:57 +0800 Subject: [PATCH 1/3] fix an out-dated description --- book/contents/first-try/hello-world.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/contents/first-try/hello-world.md b/book/contents/first-try/hello-world.md index f5c07d78..31a0692a 100644 --- a/book/contents/first-try/hello-world.md +++ b/book/contents/first-try/hello-world.md @@ -15,7 +15,7 @@ fn greet_world() { let chinese = "世界,你好"; let english = "World, hello"; let regions = [southern_germany, chinese, english]; - for region in regions.iter() { + for region in regions { println!("{}", ®ion); } } @@ -43,7 +43,7 @@ sunfei@sunfeideMa 对于 `println` 来说,我们没有使用其它语言惯用的 `%s`,`%d` 来做输出占位符,而是使用 `{}`,因为 Rust 在底层帮我们做了大量工作,会自动识别输出数据的类型,例如当前例子,会识别为 `String` 类型。 -最后,和其它语言不同,Rust 的集合类型不能直接进行循环,需要变成迭代器(这里是通过 `.iter()` 方法),才能用于迭代循环,在目前来看,你会觉得这一点好像挺麻烦,不急,以后就知道这么做的好处所在。 +在 2021 edtion 前,和其它语言不同,Rust 的集合类型不能直接进行循环,需要变成迭代器(这里是通过 `.iter()` 方法, 即写成 `for region in regions.iter()`),才能用于迭代循环。但是在 2021 edition及以后, rust 支持直接写 `for region in regions`。 至于函数声明、调用、数组的使用,和其它语言没什么区别,So Easy! From 1aad5919fe7162d09098440f41b4cd4e98f9e016 Mon Sep 17 00:00:00 2001 From: AsukaMinato Date: Sat, 22 Jan 2022 21:58:39 +0800 Subject: [PATCH 2/3] add detailed explanation --- book/contents/first-try/hello-world.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/contents/first-try/hello-world.md b/book/contents/first-try/hello-world.md index 31a0692a..4a905bea 100644 --- a/book/contents/first-try/hello-world.md +++ b/book/contents/first-try/hello-world.md @@ -43,7 +43,7 @@ sunfei@sunfeideMa 对于 `println` 来说,我们没有使用其它语言惯用的 `%s`,`%d` 来做输出占位符,而是使用 `{}`,因为 Rust 在底层帮我们做了大量工作,会自动识别输出数据的类型,例如当前例子,会识别为 `String` 类型。 -在 2021 edtion 前,和其它语言不同,Rust 的集合类型不能直接进行循环,需要变成迭代器(这里是通过 `.iter()` 方法, 即写成 `for region in regions.iter()`),才能用于迭代循环。但是在 2021 edition及以后, rust 支持直接写 `for region in regions`。 +最后,和其它语言不同,Rust 的集合类型不能直接进行循环,需要变成迭代器(这里是通过 `.iter()` 方法, 即写成 `for region in regions.iter()`),才能用于迭代循环。但是在 2021 edition及以后, 支持直接写 `for region in regions`,原因会在迭代器章节的开头提到,是因为 for 隐式地将 regions 转换成迭代器。 至于函数声明、调用、数组的使用,和其它语言没什么区别,So Easy! From 99bdc2745d0e6dd8b7b76f18d9c6188a72645725 Mon Sep 17 00:00:00 2001 From: AsukaMinato Date: Sun, 23 Jan 2022 18:01:33 +0800 Subject: [PATCH 3/3] refine sentence. --- book/contents/first-try/hello-world.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/contents/first-try/hello-world.md b/book/contents/first-try/hello-world.md index 4a905bea..15162f98 100644 --- a/book/contents/first-try/hello-world.md +++ b/book/contents/first-try/hello-world.md @@ -15,7 +15,7 @@ fn greet_world() { let chinese = "世界,你好"; let english = "World, hello"; let regions = [southern_germany, chinese, english]; - for region in regions { + for region in regions.iter() { println!("{}", ®ion); } } @@ -43,7 +43,7 @@ sunfei@sunfeideMa 对于 `println` 来说,我们没有使用其它语言惯用的 `%s`,`%d` 来做输出占位符,而是使用 `{}`,因为 Rust 在底层帮我们做了大量工作,会自动识别输出数据的类型,例如当前例子,会识别为 `String` 类型。 -最后,和其它语言不同,Rust 的集合类型不能直接进行循环,需要变成迭代器(这里是通过 `.iter()` 方法, 即写成 `for region in regions.iter()`),才能用于迭代循环。但是在 2021 edition及以后, 支持直接写 `for region in regions`,原因会在迭代器章节的开头提到,是因为 for 隐式地将 regions 转换成迭代器。 +最后,和其它语言不同,Rust 的集合类型不能直接进行循环,需要变成迭代器(这里是通过 `.iter()` 方法),才能用于迭代循环,在目前来看,你会觉得这一点好像挺麻烦,不急,以后就知道这么做的好处所在。实际上这段代码可以简写,在 2021 edition 及以后, 支持直接写 `for region in regions`,原因会在迭代器章节的开头提到,是因为 for 隐式地将 regions 转换成迭代器。 至于函数声明、调用、数组的使用,和其它语言没什么区别,So Easy!