在编程中,break
和 next
语句用于改变循环的流程。
break
语句会完全退出循环。next
语句会跳过当前迭代,然后继续执行下一个迭代。
当你发现某个特定条件使得继续循环不再必要时,通常会使用 break
。
next
语句在需要跳过某些值时非常有用。例如,跳过无效输入、奇数或字符串中的特定字符。
Ruby break 语句
当遇到 break
语句时,它会立即终止循环。
语法
break
Ruby break 语句的工作原理

上图显示了 break
语句在 for 和 while 循环中的工作原理。
注意: break
语句通常用于决策语句中,例如 if...else。
示例 1:Ruby for 循环中的 break 语句
当满足某个特定条件时,您可以使用 break
语句来终止 for
循环。例如:
for i in 1..5
if i == 3
break
end
puts i
end
输出
1 2
在上面的示例中,当 i
等于 3 时,以下代码会终止循环。
if i == 3
break
因此,输出不包含 2 之后的值。
示例 2:Ruby while 循环中的 break 语句
您可以使用 break
语句来终止 while
循环。例如:
i = 0
while i < 10
if i == 3
break
end
puts i
i += 1
end
输出
0 1 2
在这里,当 i
等于 3 时,break
会终止循环。
Ruby next 语句
next
语句会跳过循环的当前迭代,程序的控制流会转到下一个迭代。
语法
next
Ruby next 语句的工作原理

示例 3:Ruby for 循环中的 next 语句
让我们看看如何在 for
循环中使用 next
语句。
for i in 1..5
if i == 3
next
end
puts i
end
输出
1 2 4 5
在上面的示例中,当 i
等于 3 时,以下代码会跳过当前迭代,并继续下一个迭代。
if i == 3
next
因此,输出包含除了 3 之外的所有值。
示例 4:Ruby while 循环中的 next 语句
您也可以在 while
循环中使用 next
语句。例如:
i = 0
while i < 5
i += 1
if i == 3
next
end
puts i
end
输出
1 2 4 5
在这里,当 i
等于 3 时,next
会跳过该迭代,因此不会打印。
i
的值在条件之前增加,因此当 i
变为 3 时,next
会阻止 puts i
在该循环周期中运行。
更多关于 Ruby Break 和 Next
您可以在嵌套循环中使用 break
或 next
来控制内部循环的流程,而不会影响外部循环。例如:
# Nested for loops
# Outer loop
for i in 1..2
# Inner loop
for j in 1..3
break if j == 2
puts "i: #{i}, j: #{j}"
end
end
输出
i: 1, j: 1 i: 2, j: 1
在这里,当 j == 2
时,内部循环会 break,但外部循环会继续。
只有当 case
是循环的一部分时,您才能在 case
语句中使用 break
和 next
。这是因为它们直接控制循环的流程,而不是 case
语句本身。
numbers = [1, 2, 3, 4, 5]
for num in numbers
case num
when 3
# Skip this iteration when num is 3
next
when 5
# Exit the loop completely when num is 5
break
else
puts "Printing: #{num}"
end
end
输出
Printing: 1 Printing: 2 Printing: 4
在此示例中,当 num 为 3 时,循环会跳过打印,当 num 为 5 时,循环会完全退出。