From cf249a124273b34a7f6960ebd1ef4ae94734cccd Mon Sep 17 00:00:00 2001 From: expoli <31023767+expoli@users.noreply.github.com> Date: Sun, 23 Mar 2025 09:19:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=99=E4=B8=AA=E9=83=A8=E5=88=86=E6=8F=90?= =?UTF-8?q?=E5=88=B0=E4=BA=86=E6=96=B0=E5=8F=98=E9=87=8F=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E5=8F=98=E9=87=8F=E6=98=AFn=EF=BC=8C=E6=84=9F?= =?UTF-8?q?=E8=A7=89=E4=BF=AE=E6=94=B9=E6=88=90=E7=8E=B0=E5=9C=A8=E7=9A=84?= =?UTF-8?q?=E8=A1=A8=E8=BF=B0=E4=BC=9A=E6=9B=B4=E5=8A=A0=E9=A1=BA=E7=95=85?= =?UTF-8?q?=EF=BC=8C=E9=80=BB=E8=BE=91=E4=B9=9F=E6=9B=B4=E6=B8=85=E6=99=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/basic/match-pattern/all-patterns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/match-pattern/all-patterns.md b/src/basic/match-pattern/all-patterns.md index 2d6058f5..8a1038f6 100644 --- a/src/basic/match-pattern/all-patterns.md +++ b/src/basic/match-pattern/all-patterns.md @@ -523,7 +523,7 @@ fn main() { } ``` -现在这会打印出 `Default case, x = Some(5)`。现在第二个匹配分支中的模式不会引入一个覆盖外部 `y` 的新变量 `y`,这意味着可以在匹配守卫中使用外部的 `y`。相比指定会覆盖外部 `y` 的模式 `Some(y)`,这里指定为 `Some(n)`。此新建的变量 `n` 并没有覆盖任何值,因为 `match` 外部没有变量 `n`。 +现在这会打印出 `Default case, x = Some(5)`。现在第二个匹配分支中的模式引入一个不会覆盖外部 `y` 的新变量 `n`,这意味着可以在匹配守卫中使用外部的 `y`。相比指定会覆盖外部 `y` 的模式 `Some(y)`,这里指定为 `Some(n)`。此新建的变量 `n` 并没有覆盖任何值,因为 `match` 外部没有变量 `n`。 匹配守卫 `if n == y` 并不是一个模式所以没有引入新变量。这个 `y` **正是** 外部的 `y` 而不是新的覆盖变量 `y`,这样就可以通过比较 `n` 和 `y` 来表达寻找一个与外部 `y` 相同的值的概念了。