首页 > 服务端语言 > Ruby 入门教程 > 18 Ruby 循环语句

Ruby 循环语句

循环是计算机系统重复执行任务的机制。本章节中,我们会为大家讲解在 Ruby 中如何进行循环操作。

1. while

while 循环旨在重复执行命令 直到不满足条件 ,语法如下:

实例:

i = 0
while i < 5 do
   puts i
   i += 1
end

# ---- 输出结果 ----
0
1
2
3
4

解释 :i 的初始化值为0,因为 i<5,所以进入循环中不断输出并进行加 1 的操作,直到 i 等于 5,不满足 i<5 的条件后,跳出循环执行完成。

经验:我们在实际开发中会省略 do

i = 0
while i < 5
   puts i
   i += 1
end

# ---- 输出结果 ----
0
1
2
3
4

有时我们需要在条件执行完之间停止循环,这时我们会使用 break

i = 0
while i < 5
   puts i
   i += 1
   break if i == 2
end

# ---- 输出结果 ----
0
1

解释 :当 i 等于 2 的时候,强制中断循环。

2. until

untilwhile 相反,它旨在重复执行 直到条件满足为止

实例:

i = 0
until i == 5
   puts i
   i += 1
end

# ---- 输出结果 ----
0
1
2
3
4

until也可以用作语句修饰符,后置使用:

实例:

i = 0
puts i += 1 until i == 5

# ---- 输出结果 ----  
1
2
3
4
5

3. for…in

for 循环是经典的循环构造,它允许任务重复特定的次数。Ruby 不同点在于,它可以和范围(Range)结合。

实例:

for i in 1..8 do
    puts i
end

# ---- 输出结果 ----  
1
2
3
4
5
6
7
8

一般来说 do 是可以省略的,除非代码放到一行中。

实例:

for i in 1..8 do puts i end

# ---- 输出结果 ----  
1
2
3
4
5
6
7
8

我们还可以嵌套使用它:

实例:

for j in 1..5 do
  for i in 1..5 do
    print i,  " "
  end
  puts
end

# ---- 输出结果 ---- 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5

另外,break 语句可用于打破 for 循环(请注意, 仅退出内部for循环,如果嵌套了该循环,则外部循环将继续循环运行 ):

实例:

for j in 1..5 do
  for i in 1..5 do
    print i,  " "
    break if i == 2
  end
end

# ---- 输出结果 ----
1 2
1 2
1 2
1 2
1 2

next 会调到下一次循环。

实例:

for j in 1..5 do
  for i in 1..5 do
    next if i == 2
    print i,  " "
  end
end

# ---- 输出结果 ----
1 3 4 5 
1 3 4 5 
1 3 4 5 
1 3 4 5 
1 3 4 5

解释 :每当循环到 i 等于 2 的时候直接跳过下面的内容进行下一次循环。

4. 小结

本小节中我们学习了 Ruby 的三种循环方式:while、until、for…in,以及在循环中我们可以通过break来中断循环,使用next直接进行下一次循环的两种控制语句。

本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈