From 62e7bab157bc447315487e7fb46b161c0eb47659 Mon Sep 17 00:00:00 2001 From: vhtmui <798088486@qq.com> Date: Thu, 27 Mar 2025 08:10:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=87=E7=A8=8B?= =?UTF-8?q?=E5=AE=8F=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ch20-06-macros.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ch20-06-macros.md b/src/ch20-06-macros.md index 3988d70..b36d87e 100644 --- a/src/ch20-06-macros.md +++ b/src/ch20-06-macros.md @@ -6,9 +6,9 @@ 我们已经在本书中使用过像 `println!` 这样的宏了,不过还没完全探索什么是宏以及它是如何工作的。**宏**(*Macro*)指的是 Rust 中一系列的功能:使用 `macro_rules!` 的 **声明**(*Declarative*)宏,和三种 **过程**(*Procedural*)宏: -* 自定义 `#[derive]` 宏在结构体和枚举上指定通过 `derive` 属性添加的代码 -* 类属性(Attribute-like)宏定义可用于任意项的自定义属性 -* 类函数宏看起来像函数不过作用于作为参数传递的 token +* 自定义 #[derive] 宏,用于在结构体和枚举上通过添加 `derive` 属性生成代码 +* 类属性宏,定义可用于任意项的自定义属性 +* 类函数宏,看起来像函数,但操作的是作为其参数传递的 token 我们会依次讨论每一种宏,不过首要的是,为什么已经有了函数还需要宏呢? From a6841ec8d77a55d60fad3a8278ee69fad836d8a8 Mon Sep 17 00:00:00 2001 From: vhtmui <798088486@qq.com> Date: Thu, 27 Mar 2025 08:13:44 +0800 Subject: [PATCH 2/2] additional --- src/ch20-06-macros.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch20-06-macros.md b/src/ch20-06-macros.md index b36d87e..f4b15a3 100644 --- a/src/ch20-06-macros.md +++ b/src/ch20-06-macros.md @@ -6,7 +6,7 @@ 我们已经在本书中使用过像 `println!` 这样的宏了,不过还没完全探索什么是宏以及它是如何工作的。**宏**(*Macro*)指的是 Rust 中一系列的功能:使用 `macro_rules!` 的 **声明**(*Declarative*)宏,和三种 **过程**(*Procedural*)宏: -* 自定义 #[derive] 宏,用于在结构体和枚举上通过添加 `derive` 属性生成代码 +* 自定义 `#[derive]` 宏,用于在结构体和枚举上通过添加 `derive` 属性生成代码 * 类属性宏,定义可用于任意项的自定义属性 * 类函数宏,看起来像函数,但操作的是作为其参数传递的 token