From f679800f072b1b7c56659795f22b6e02b1ab7d02 Mon Sep 17 00:00:00 2001 From: sxyazi Date: Fri, 4 Nov 2022 15:49:53 +0800 Subject: [PATCH 1/2] fix: function name to call --- src/ch19-06-macros.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch19-06-macros.md b/src/ch19-06-macros.md index da366df..52d5b30 100644 --- a/src/ch19-06-macros.md +++ b/src/ch19-06-macros.md @@ -180,7 +180,7 @@ $ cargo new hello_macro_derive --lib 当用户在一个类型上指定 `#[derive(HelloMacro)]` 时,`hello_macro_derive` 函数将会被调用。因为我们已经使用 `proc_macro_derive` 及其指定名称`HelloMacro`对 `hello_macro_derive` 函数进行了注解,指定名称`HelloMacro`就是 trait 名,这是大多数过程宏遵循的习惯。 -该函数首先将来自 `TokenStream` 的 `input` 转换为一个我们可以解释和操作的数据结构。这正是 `syn` 派上用场的地方。`syn` 中的 `parse_derive_input` 函数获取一个 `TokenStream` 并返回一个表示解析出 Rust 代码的 `DeriveInput` 结构体。示例 19-32 展示了从字符串 `struct Pancakes;` 中解析出来的 `DeriveInput` 结构体的相关部分: +该函数首先将来自 `TokenStream` 的 `input` 转换为一个我们可以解释和操作的数据结构。这正是 `syn` 派上用场的地方。`syn` 中的 `parse` 函数获取一个 `TokenStream` 并返回一个表示解析出 Rust 代码的 `DeriveInput` 结构体。示例 19-32 展示了从字符串 `struct Pancakes;` 中解析出来的 `DeriveInput` 结构体的相关部分: ```rust,ignore DeriveInput { From ca0ef235c0cfa7e8052731384389670625e6c630 Mon Sep 17 00:00:00 2001 From: sxyazi Date: Fri, 4 Nov 2022 15:50:13 +0800 Subject: [PATCH 2/2] fix: commas --- src/ch18-03-pattern-syntax.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ch18-03-pattern-syntax.md b/src/ch18-03-pattern-syntax.md index 2a3ec75..846d54f 100644 --- a/src/ch18-03-pattern-syntax.md +++ b/src/ch18-03-pattern-syntax.md @@ -203,11 +203,11 @@ Rust 知道 `c` 位于第一个模式的范围内,并会打印出 `early ASCII 示例 18-19: 忽略元组的多个部分 -这会打印出 `Some numbers: 2, 8, 32`, 值 4 和 16 会被忽略。 +这会打印出 `Some numbers: 2, 8, 32`,值 4 和 16 会被忽略。 #### 通过在名字前以一个下划线开头来忽略未使用的变量 -如果你创建了一个变量却不在任何地方使用它, Rust 通常会给你一个警告,因为这可能会是个 bug。但是有时创建一个还未使用的变量是有用的,比如你正在设计原型或刚刚开始一个项目。这时你希望告诉 Rust 不要警告未使用的变量,为此可以用下划线作为变量名的开头。示例 18-20 中创建了两个未使用变量,不过当编译代码时只会得到其中一个的警告: +如果你创建了一个变量却不在任何地方使用它,Rust 通常会给你一个警告,因为这可能会是个 bug。但是有时创建一个还未使用的变量是有用的,比如你正在设计原型或刚刚开始一个项目。这时你希望告诉 Rust 不要警告未使用的变量,为此可以用下划线作为变量名的开头。示例 18-20 中创建了两个未使用变量,不过当编译代码时只会得到其中一个的警告: 文件名: src/main.rs @@ -219,7 +219,7 @@ Rust 知道 `c` 位于第一个模式的范围内,并会打印出 `early ASCII 这里得到了警告说未使用变量 `y`,不过没有警告说未使用下划线开头的变量。 -注意, 只使用 `_` 和使用以下划线开头的名称有些微妙的不同:比如 `_x` 仍会将值绑定到变量,而 `_` 则完全不会绑定。为了展示这个区别的意义,示例 18-21 会产生一个错误。 +注意,只使用 `_` 和使用以下划线开头的名称有些微妙的不同:比如 `_x` 仍会将值绑定到变量,而 `_` 则完全不会绑定。为了展示这个区别的意义,示例 18-21 会产生一个错误。 ```rust,ignore,does_not_compile {{#rustdoc_include ../listings/ch18-patterns-and-matching/listing-18-21/src/main.rs:here}}