diff --git a/projects/loops/src/main.rs b/projects/loops/src/main.rs index 41b6133..9d9b31c 100644 --- a/projects/loops/src/main.rs +++ b/projects/loops/src/main.rs @@ -1,7 +1,5 @@ fn main() { - for number in (1..4).rev() { - println! ("{}!", number); + loop { + println! ("again!"); } - - println! ("发射!!"); } diff --git a/src/programming_concepts/control_flow.md b/src/programming_concepts/control_flow.md index b99f99a..d3797b3 100644 --- a/src/programming_concepts/control_flow.md +++ b/src/programming_concepts/control_flow.md @@ -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#猜对后的退出) 小节,就在那个猜数游戏中这样做了,在通过猜到正确数字而赢得游戏时退出那个程序。