Ruby简明教程之循环语句介绍

所属分类: 脚本专栏 / ruby专题 阅读数: 1273
收藏 0 赞 0 分享

循环结构在编程语言中是不可或缺的,所以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中用线程实现经典的生产者消费者问题代码实例

这篇文章主要介绍了Ruby中用线程实现经典的生产者消费者问题代码实例,本文直接给出实现代码和运行效果,需要的朋友可以参考下
收藏 0 赞 0 分享

Ruby中常用的字符串处理函数使用实例

这篇文章主要介绍了Ruby中常用的字符串处理函数使用实例,本文总结了Ruby中最常用的字符串处理函数,如返回字符串的长度、判断字符串中是否包含另一个串、字符串插入、字符串分隔、默认分隔符为空格等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下ruby语言安装教程

这篇文章主要介绍了Windows下ruby语言安装教程,本文使用rubyinstaller提供的安装包安装,并给出图文说明,非常简单,需要的朋友可以参考下
收藏 0 赞 0 分享

ruby环境中自动编译sass教程

这篇文章主要介绍了ruby环境中自动编译sass教程,本文讲解了ruby环境的安装、sass环境的安装以及sass的常用编译命令使用示例,需要的朋友可以参考下
收藏 0 赞 0 分享

Ruby中相等性判断的4种方法

这篇文章主要介绍了Ruby中相等性判断的4种方法,本文讲解了“==” 最常见的相等性判断、“===” 用于 case 语句的相容判断、“equal?” 相同对象判断、“eql?” 对象 hash 值判断等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

Rails中使用MySQL分区表一个提升性能的方法

这篇文章主要介绍了Rails中使用MySQL分区表一个提升性能的方法,本文总结出了一个简单的方法实现避免扫描全部的分区表,从而提升性能,需要的朋友可以参考下
收藏 0 赞 0 分享

Rails应用程序中同时修改操作冲突问题的解决方案

这篇文章主要介绍了Rails应用程序中同时修改操作冲突问题的解决方案,本文讲解使用Rails 的 乐观锁解决这个问题并给出了代码救命,需要的朋友可以参考下
收藏 0 赞 0 分享

Ruby中的p和puts的使用区别浅析

这篇文章主要介绍了Ruby中的p和puts的使用区别浅析,本文用一个实例讲解了它们之间的区别,并总结出结论,需要的朋友可以参考下
收藏 0 赞 0 分享

Ruby中的block、proc、lambda区别总结

这篇文章主要介绍了Ruby中的block、proc、lambda区别总结,本文讲解了yield 和 block call 的区别、block 和 proc、lambda 的区别、proc 和 lambda 的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

Ruby的运算符和语句优先级介绍

这篇文章主要介绍了Ruby的运算符和语句优先级介绍,本文先是给出了一些小例子来验证运算符和语句优先级,然后总结出一个优先级表,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多