Refining Ch03.

This commit is contained in:
rust-lang.xfoss.com 2023-12-11 15:24:51 +08:00
parent f400886623
commit d3c6298114
2 changed files with 10 additions and 8 deletions

View File

@ -1,7 +1,5 @@
fn main() {
for number in (1..4).rev() {
println! ("{}!", number);
loop {
println! ("again!");
}
println! ("发射!!");
}

View File

@ -248,21 +248,24 @@ Rust 有着三种循环:`loop`、`while` 及 `for`。咱们来一一尝试。
**Repeating Code with `loop`**
`loop` 关键字告诉 Rust 去一直一遍又一遍执行代码块,抑或直到显式地告诉他停下来为止。
`loop` 这个关键字,告诉 Rust 一直一遍又一遍地执行某个代码块,直到咱们明确告诉他停止为止。
作为一个示例,请将咱们 `loops` 目录中的 `src/main.rs` 文件,修改为下面这样:
作为示例,将 `loops` 目录中的 `src/main.rs` 文件修改为下面这样:
文件名:`src/main.rs`
```rust
fn main() {
loop {
println! (”再次!“);
println! ("again!");
}
}
```
在运行这个程序时,就会看到一遍又一遍地持续打印出 `再次!`,知道手动停止这个程序为止。大多数终端程序,都支持键盘快捷键 `ctrl-c` 来中断某个卡在无尽循环中的某个程序。来尝试一下:
当我们运行这个程序时,我们会看到 `again!` 不断重复打印出来,直到我们手动停止这个程序为止。大多数终端,都支持用于中断某个陷入连续循环程序的键盘快捷键 `ctrl-c`。来试试看吧:
```console
$ cargo run
@ -276,6 +279,7 @@ $ cargo run
^C再次
```
其中的符号 `^C` 表示按下 `ctrl-c` 的地方。在那个 `^C` 之后,可能会也可能不会看到 `再次!` 被打印出来,取决于程序接收到中断信号时,代码在循环中的何处。
幸运的是Rust 还提供了一种运用代码来跳出循环的方式。可在循环中放置 `break` 关键字,而告诉程序在何时结束执行这个循环。还记得在第 2 章的 [猜对数字后退出程序](Ch02_Programming_a_Guessing_Game.md#猜对后的退出) 小节,就在那个猜数游戏中这样做了,在通过猜到正确数字而赢得游戏时退出那个程序。