在我们使用 for 循环 、while 循环 或者 until 循环 时,在某种条件满足的情况下,需要终止循环的继续执行,在 Ruby 中,终止循环的继续运行使用的关键字为 break。
for variable [, variable ...] in expression [do]
if condition [then]
break
end
end
参数 | 描述 |
---|---|
for | for 循环使用的关键字。 |
break | 如果满足条件 condition,就结束循环。 |
上面的循环是在 condition 条件满足的情况下,使用 break 终止 for 循环。
使用 break 语句,终止循环
#!/usr/bin/ruby -w
# -*- coding : utf-8 -*-
puts "HaiCoder(www.haicoder.net)"
for i in 0..10
if i >= 3
break
end
printf("i = %d\n", i)
end
程序运行后,控制台输出如下:
首先,我们定义了一个 for 循环,该循环从 0 开始到 10 结束,每次循环打印当前循环控制变量的值。
但,我们这里使用了 if 语句判断,如果循环控制变量的值已经大于等于 3 了,那么我们就使用 break 语句来终止循环,因此最终结果只输出了 0,1,2,因为到 3 的时候,整个循环被 break 语句终止了。
使用 break语句,终止双重循环
#!/usr/bin/ruby -w
# -*- coding : utf-8 -*-
puts "HaiCoder(www.haicoder.net)"
for i in 0...3
for j in 0...20
if j >= 2
break
end
printf("i = %d, j = %d\n", i, j)
end
end
程序运行后,控制台输出如下:
首先,我们定义了一个 for 循环,该循环从 0 开始到 3 结束。同时,我们在外层的 for 循环里面又定义了一个 for 循环,该循环从 0 开始到 20 结束,并在该循环里面打印循环控制变量 i 和 j 的值。
我们在第二层循环里面使用了 if 语句判断,如果循环控制变量的值已经大于等于 2 了,那么我们就使用 break 语句来终止循环,我们看到最终 j 的值最大只能输出到 1,但 i 的值可以全部输出,因为这的 break 语句只能终止内层的 for 循环,外层的 for 循环该 break 语句是无法终止的。
在 Ruby 中,终止循环的继续运行使用的关键字为 break。