关于loop与next的作用?

关于loop与next的作用?

i=0
loop do
 i+=1
 next if i<3
 print i
 break if i>4
end
这段代码中如果没有break if i>4,只是
i=0
loop do
 i+=1
 next if i<3
 print i
 end
会输出从3往后的无限不循环数,为什么呢?我认为应该只输出1,2呀?loop和next 在这里有什么作用呀?哪位能帮忙讲解一下呀?谢谢啦~~
看了一些相关的资料,有点理解了,next 的作用似乎是退出本次循环,不执行本次循环,转向执行下一循环,这里的,当i=1时,不执行本次循环,故不输出值,转向下一循环,就到i=2了,也不执行本次循环,转向下一循环到i=3了这时输出3,next有点感觉像是满足条件的不执行,不满足的执行,所以就会是一个3以后的无限不循环数了,不知道理解对不对
常规的语言中都有break和next,ruby中还有redo retry.都是控制流程用的,从单词意思就能看出来作用.