Process.exit(0)vs Ruby中的break

时间:2014-01-18 05:52:48

标签: ruby loops while-loop break

我正在尝试理解使用 Process.exit(0) break 来退出Ruby中的循环之间的区别。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:2)

break将逃脱它自己的范围。想象一下:

loop do
  #something goes here
  break
end

在上面的示例中,break范围是直接loop,因此程序将在执行break时停止。

现在想象一下这个例子:

loop do  #loop 1
  loop do   #loop 2
    #something goes here
    break
  end
end

在上面的代码break中,只会退出loop#2,其余代码将继续运行,而Process.exit将终止整个脚本。