Ruby next语句

Ruby next语句教程

在我们使用 for 循环while 循环 或者 until 循环 时,在某种条件满足的情况下,需要跳过本次循环,继续执行下一次循环,在 Ruby 中,跳过本次循环的继续运行下一次循环使用的关键字为 next。

注意 next 与 break 的区别,break 是直接终止了当前的循环,当前的循环不会再运行,而 next 只是跳过本次循环,当前循环的后续循环还会继续运行。

Ruby break语句详解

语法

for variable [, variable ...] in expression [do] if condition [then] next end end

参数

参数 描述
for for 循环使用的关键字。
break 如果满足条件 condition,就跳过本次循环。

说明

上面的循环是在 condition 条件满足的情况下,跳过本次 for 循环,继续执行下一次循环。

案例

next语句跳过本次循环

使用 next 语句,跳过本次循环

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" for i in 0..5 if i == 3 next end printf("i = %d\n", i) end printf("Over\n")

程序运行后,控制台输出如下:

32_ruby next语句.png

首先,我们定义了一个 for 循环,该循环从 0 开始到 5 结束,每次循环循环控制变量加 1,并打印当前循环控制变量的值。

但,我们这里使用了 if 语句 判断,如果循环控制变量的值等于 3,那么我们就使用 next 语句来跳过本次循环,因此最终结果只输出了 0,1,2,4,5,因为到 3 的时候,该次循环被 next 语句跳过了,但后续的 4 和 5 还是会继续执行,如果这换成 break 语句,那么就不会输出 4 和 5。

next语句跳过双重循环

使用 next 语句,跳过双重循环

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" for i in 0...2 for j in 0...3 if j == 1 then next end printf("i = %d, j = %d\n", i, j) end end printf("Over\n")

程序运行后,控制台输出如下:

33_ruby next语句.png

首先,我们定义了一个 for 循环,该循环从 0 开始到 2 结束。同时,我们在外层的 for 循环里面又定义了一个 for 循环,该循环从 0 开始到 3 结束,每次循环里面打印循环控制变量 i 和 j 的值。

我们在第二层循环里面使用了 if 语句判断,如果循环控制变量的值等于 1,那么我们就使用 next 语句来跳过本次循环,我们看到最终 j 的值输出了 0 和 2,但 i 的值可以全部输出,因为这的 next 语句只是跳过 j 为 1 的情况,所以 j 为 2 的循环可以继续运行。

Ruby next语句总结

在 Ruby 中,跳过本次循环的继续运行下一次循环使用的关键字为 next。Ruby next 语句语法:

for variable [, variable ...] in expression [do] if condition [then] next end end