Ruby while 关键字
最后修改日期:2025 年 4 月 27 日
本教程将解释如何使用 Ruby 的 while
关键字创建循环。while
循环在条件为真时重复执行代码。
while
关键字创建一个只要其条件评估为真就一直运行的循环。它在每次迭代之前检查条件。当条件变为假时,循环终止。
while
循环是 Ruby 中重复任务的基础。当预先不知道重复次数时,它们可以精确控制迭代。
基本 while 循环
此示例演示了 while
循环的最简单形式。循环在条件保持为真时继续。
count = 0 while count < 5 puts "Count is #{count}" count += 1 end puts "Loop finished"
当 count
小于 5 时,循环运行。每次迭代都会打印当前的计数并将其递增。当 count 达到 5 时,循环退出。
带用户输入的 while 循环
此示例使用 while
重复提示用户输入,直到满足特定条件。
answer = "" while answer.downcase != "quit" print "Enter a command (or 'quit' to exit): " answer = gets.chomp puts "You entered: #{answer}" end puts "Goodbye!"
循环一直持续到用户输入“quit”。条件以不区分大小写的方式检查输入。每次迭代都会处理用户的输入。
带 break 的无限 while 循环
此示例显示如何使用 while true
创建一个无限循环,并使用 break
根据条件退出。
counter = 0 while true puts "Counter: #{counter}" counter += 1 break if counter >= 10 end puts "Loop exited"
循环会无限运行,直到满足 break
条件。当退出条件复杂或出现在循环中间时,这种模式很有用。
带 next 关键字的 while 循环
此示例演示了在 while
循环中使用 next
来跳过某些迭代。
num = 0 while num < 10 num += 1 next if num.even? puts "Odd number: #{num}" end puts "Done"
循环使用 next
跳过偶数。只打印奇数。循环一直持续到处理完所有小于或等于 10 的数字。
while 修饰符形式
Ruby 提供了一个后缀 while
修饰符,可在条件为真时执行代码。这种简洁的形式对于单语句循环很有用。
count = 0 puts count += 1 while count < 5 puts "Final count: #{count}"
后缀 while
会重复执行前面的语句。当条件变为假时,循环停止。这种形式紧凑但灵活性较低。
嵌套 while 循环
此示例演示了嵌套的 while
循环以创建更复杂的迭代模式。
outer = 1 while outer <= 3 inner = 1 while inner <= outer print "#{outer}:#{inner} " inner += 1 end puts outer += 1 end
外层循环运行三次。内层循环的迭代次数随外层迭代次数的增加而增加。这会创建一个三角数模式。
带数组的 while 循环
此示例展示了如何使用 while
处理数组元素,而不使用迭代器方法。
fruits = ["apple", "banana", "cherry", "date"] index = 0 while index < fruits.length puts "Fruit ##{index + 1}: #{fruits[index].capitalize}" index += 1 end puts "All fruits processed"
循环通过索引处理每个数组元素。它一直持续到访问完所有元素。这种方法提供了对数组遍历的手动控制。
来源
本教程涵盖了 Ruby 的 while 循环,并通过实际示例展示了基本用法、控制流和常见模式。
作者
列出 所有 Ruby 教程。