diff --git a/course-book/contents/basic/match-pattern/match-if-let.md b/course-book/contents/basic/match-pattern/match-if-let.md index f9ec31be..feabab68 100644 --- a/course-book/contents/basic/match-pattern/match-if-let.md +++ b/course-book/contents/basic/match-pattern/match-if-let.md @@ -278,7 +278,7 @@ enum MyEnum { } fn main() { - let v = vec![MyEnum::Foo,MyEnum::Bar,MyEnum::F + let v = vec![MyEnum::Foo,MyEnum::Bar,MyEnum::Foo]; } ``` @@ -287,7 +287,7 @@ fn main() { v.iter().filter(|x| x == MyEnum::Foo); ``` -但是,实际上这行代码会保存,因为你无法将`x`跟一个类型进行比较。好在,你可以使用`match`来完成,但是会导致代码更为啰嗦,是否有更简洁的方式?答案是使用`matches!`: +但是,实际上这行代码会报错,因为你无法将`x`跟一个类型进行比较。好在,你可以使用`match`来完成,但是会导致代码更为啰嗦,是否有更简洁的方式?答案是使用`matches!`: ```rust v.iter().filter(|x| matches!(x, MyEnum::Foo)); ``` @@ -337,4 +337,4 @@ fn main() { } ``` -需要注意的是,**`match`中的变量覆盖其实不是那么的容易看出**,因此要小心! \ No newline at end of file +需要注意的是,**`match`中的变量覆盖其实不是那么的容易看出**,因此要小心!