Update ch18-02-refutability.md

pull/382/head
庄秋彬 5 years ago committed by GitHub
parent 8dc947622b
commit a646b921b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -28,7 +28,7 @@ error[E0005]: refutable pattern in local binding: `None` not covered
| ^^^^^^^ pattern `None` not covered | ^^^^^^^ pattern `None` not covered
``` ```
因为我们没有覆盖(也不可能覆盖!)到模式 `Some(x)` 的每一个可能的值, 所以 Rust 会合理的抗议. 因为我们没有覆盖(也不可能覆盖!)到模式 `Some(x)` 的每一个可能的值, 所以 Rust 会合理地抗议。
为了修复在需要不可反驳模式的地方使用可反驳模式的情况,可以修改使用模式的代码:不同于使用 `let`,可以使用 `if let`。如此,如果模式不匹配,大括号中的代码将被忽略,其余代码保持有效。示例 18-9 展示了如何修复示例 18-8 中的代码。 为了修复在需要不可反驳模式的地方使用可反驳模式的情况,可以修改使用模式的代码:不同于使用 `let`,可以使用 `if let`。如此,如果模式不匹配,大括号中的代码将被忽略,其余代码保持有效。示例 18-9 展示了如何修复示例 18-8 中的代码。

Loading…
Cancel
Save