From 44030f76bc46e199f6f926d31c4e6e7e7b7d8276 Mon Sep 17 00:00:00 2001 From: CamaroW <111119365+CamaroW@users.noreply.github.com> Date: Tue, 21 Jan 2025 21:07:52 +0800 Subject: [PATCH] Update all-patterns.md Fixed sentence and added hyperlink. --- src/basic/match-pattern/all-patterns.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/basic/match-pattern/all-patterns.md b/src/basic/match-pattern/all-patterns.md index 2d6058f5..8e673808 100644 --- a/src/basic/match-pattern/all-patterns.md +++ b/src/basic/match-pattern/all-patterns.md @@ -77,7 +77,7 @@ match x { } ``` -如果 `x` 是 1、2、3、4 或 5,第一个分支就会匹配。这相比使用 `|` 运算符表达相同的意思更为方便;相比 `1..=5`,使用 `|` 则不得不指定 `1 | 2 | 3 | 4 | 5` 这五个值,而使用 `..=` 指定序列就简短的多,比如希望匹配比如从 1 到 1000 的数字的时候! +如果 `x` 是 1、2、3、4 或 5,第一个分支就会匹配。这相比使用 `|` 运算符表达相同的意思更为方便;相比 `1..=5`,使用 `|` 则不得不指定 `1 | 2 | 3 | 4 | 5` 这五个值,而使用 `..=` 指定序列就简短的多,比如希望匹配从 1 到 1000 的数字的时候! 序列只允许用于数字或字符类型,原因是:它们可以连续,同时编译器在编译期可以检查该序列是否为空,字符和数字值是 Rust 中仅有的可以用于判断是否为空的类型。 @@ -506,7 +506,7 @@ match num { 模式中无法提供类如 `if x < 5` 的表达能力,我们可以通过匹配守卫的方式来实现。 -在之前,我们提到可以使用匹配守卫来解决模式中变量覆盖的问题,那里 `match` 表达式的模式中新建了一个变量而不是使用 `match` 之外的同名变量。内部变量覆盖了外部变量,意味着此时不能够使用外部变量的值,下面代码展示了如何使用匹配守卫修复这个问题。 +在[之前](#匹配命名变量),我们提到可以使用匹配守卫来解决模式中变量覆盖的问题,那里 `match` 表达式的模式中新建了一个变量而不是使用 `match` 之外的同名变量。内部变量覆盖了外部变量,意味着此时不能够使用外部变量的值,下面代码展示了如何使用匹配守卫修复这个问题。 ```rust fn main() {