推荐答案
在 Ruby 中,break、next 和 redo 是用于控制循环流程的关键字。它们的作用如下:
break:立即终止当前循环,跳出循环体。next:跳过当前迭代的剩余代码,直接进入下一次循环迭代。redo:重新执行当前迭代,不进行条件判断或递增操作。
本题详细解读
break 关键字
break 用于在循环中提前终止循环。当 break 被执行时,程序会立即退出当前循环,继续执行循环之后的代码。
(1..5).each do |i| break if i == 3 puts i end # 输出: # 1 # 2
在上面的例子中,当 i 等于 3 时,break 被执行,循环立即终止,因此只输出了 1 和 2。
next 关键字
next 用于跳过当前迭代的剩余代码,直接进入下一次循环迭代。
// www.javascriptcn.com code example (1..5).each do |i| next if i == 3 puts i end # 输出: # 1 # 2 # 4 # 5
在这个例子中,当 i 等于 3 时,next 被执行,跳过了 puts i,因此 3 没有被输出。
redo 关键字
redo 用于重新执行当前迭代,而不进行条件判断或递增操作。
// www.javascriptcn.com code example i = 0 while i < 5 puts i i += 1 redo if i == 3 end # 输出: # 0 # 1 # 2 # 2 # 3 # 4
在这个例子中,当 i 等于 3 时,redo 被执行,重新执行了 i == 3 的迭代,因此 2 被输出了两次。
总结
break:终止循环。next:跳过当前迭代,进入下一次迭代。redo:重新执行当前迭代。