循环结构在编程语言中是不可或缺的,所以Ruby中的循环也有其自定义的规则。

而我们关注循环结构,要知道两个因素:1) 循环的条件;2) 循环执行的内容

Ruby有一些方式来实现循环结构体:

1. times方法

在前面已经有提到过了,语法如下:
复制代码 代码如下:
循环次数.times do                    循环次数.times {
      重复执行的动作                          重复执行的动作              
end                                               }

#也可以在times模块中加入变量

5.times { |i|
    print "This is the", i+1, " time. \n"
}

# i变量是从0开始计算的

2. for 语句
复制代码 代码如下:
语法:
for 变量 in 开始数值..结束数值 do
   反复执行的动作
end

# do是可以省略的

from = 0
to = 20
sum = 0
for i in from..to
   sum += 1
end

语法:
for 变量 in 对象
  反复执行的动作
end

names = ["Windy", "Cindy", "Jack", "Hugo"]
for name in names
   print name, " likes Ruby. \n"
end

第二个语法的for语句,与java中的for each语句非常类似,for (i in list"codetitle">复制代码 代码如下:
语法:
while 条件 do
   反复执行的动作
end

a = 1
sum = 0
while a < 10 do
   sum += a
   i += a
end

4. until 语句
其语法与while语句类似,只是只有条件不符合的时候,才会反复执行循环

复制代码 代码如下:
语法:
until 条件 do
    反复执行的动作
end
# do可以省略

sum = 0
until sum > 50
   sum += 1
end
print sum

# 以上until循环可以转换成下面的while循环
while !(sum > 50)
   sum += 1
end

5. each 方法
在前面已经提到过这个方法了,这里就简要记录下语法
复制代码 代码如下:
对象.each { |变量|

     想要反复执行的动作

}

6. loop方法

它是一种没有结束条件的方法,只是不断进行循环处理,示例如下:
复制代码 代码如下:
loop {
   print "Ruby"
}

循环的控制:

主要有如下关键字:break,next,redo;而在java中,则有break,continue,return

       命令 用途 break 停止动作,马上跳出循环 next 直接跳到下一个循环 redo 以相同的条件重新执行这一次循环


总结:当次数固定时,使用times方法比较好,而其他大部分循环几乎都可以使用while和each方法。

标签:
Ruby,循环语句,简明教程

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“Ruby简明教程之循环语句介绍”
暂无“Ruby简明教程之循环语句介绍”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。