Menu
CoddyTech

until 循环

本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 45 课,共 88 课。

until 循环与 while 循环相反。它不会在条件为真时运行,而是会一直运行,直到条件变为真。你可以把它理解为“持续运行,直到这件事发生”。

count = 1
until count > 3
  puts count
  count += 1
end

这会输出 1、2、3。只要 count > 3 为假,循环就会继续。一旦 count 变为 4,条件就为真,循环便会停止。

将它与等效的 while 循环进行比较:

# 这两个循环的作用相同:
while count <= 3    # 只要这个条件为 TRUE,就一直运行
until count > 3     # 运行到这个条件为 TRUE 为止

当你在等待某件事发生时,使用 until 循环可以让代码更易读。下面是一个倒计时示例:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

这会从 5 倒数到 1,然后在 num 达到 0 时打印 "Liftoff!"。当 until 能更清楚地表达你的意图时,尤其是在等待特定条件发生时,选择它。

challenge icon

挑战

简单

从输入中读取数字 n。使用 until 循环打印从 1 到 n 的所有数字,每个数字单独占一行。到达 n 后,在新的一行打印 Done!。

循环应持续执行,直到计数器大于 n。

输入是一个表示目标数字的整数。

例如,如果输入是 4,输出应为:

1
2
3
4
Done!

如果输入是 6,输出应为:

1
2
3
4
5
6
Done!

亲手试试

# 读取目标数字
n = gets.to_i

# 初始化 counter
counter = 1

# TODO: 在下方编写代码
# 用 until 循环打印从 1 到 n 的数字
# 循环应持续到 counter 大于 n 为止


# 循环结束后,打印说明中指定的准确文本
puts "Done!"
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Ruby 在线编译器