Ruby自学笔记(六)— 循环

作者: 雨令
发布时间:2015-07-13 11:31:24

 

循环结构在编程语言中是不可或缺的,所以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?) {...}

3. while 语句

 while语句与JAVA中也是类似的

语法:  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
来源:http://www.cnblogs.com/windy1118/p/RubyLearning6.html

推荐: