`

ruby学习 -- 循环

    博客分类:
  • ruby
阅读更多
这篇文章主要介绍了Ruby简明教程之循环语句介绍,非常简洁的讲解,可以作为语法备忘,需要的朋友可以参考下

循环结构在编程语言中是不可或缺的,所以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培训---5天搞定之第1天1

    7. **掌握基本的控制结构**:学习Ruby的顺序结构(如语句的执行顺序)、选择结构(if/else、case)和循环结构(while、for、each),理解其在程序逻辑中的应用。 8. **数组的使用**:学习如何创建、访问和操作数组...

    Ruby-TensorStream用Ruby重新实现TensorFlow

    Ruby-TensorStream是一个开源项目,旨在为Ruby开发者提供一个类似于Google TensorFlow的深度学习框架。它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能,同时保持Ruby语言的优雅和简洁。这个项目在设计时...

    Ruby-RubyJMeter一个基于Ruby的DSL用于构建JMeter测试计划

    通过学习Ruby-JMeter,你不仅可以提高测试脚本的可读性和可维护性,还可以更高效地构建和维护复杂的性能测试场景。 在压缩包`ruby-jmeter-master`中,你可能会找到项目的源代码、文档、示例脚本等资源。通过查看和...

    ruby-2.6.3源码压缩包

    同时,通过阅读源码,开发者可以深入理解Ruby的内部机制,学习如何实现一个动态语言的编译器和运行时系统。这对于想要参与Ruby核心开发或者希望提升编程技能的人来说,是一份宝贵的资源。 为了编译和运行Ruby源码,...

    ruby-2.7.0.tar.gz

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。Ruby 2.7.0是这个语言的一个稳定版本...同时,了解如何安装和配置Ruby以及与其相关的库,对于深入学习和使用Ruby至关重要。

    ruby学习的源码

    本资料包针对Ruby学习者提供了丰富的资源,对于初学者来说是非常有价值的。 1. **Ruby基础知识**: - 变量:Ruby支持局部变量、实例变量、类变量和全局变量,它们以不同的符号开头,如`@`、`$`等。 - 类与对象:...

    ruby-doc-bundle

    Ruby Doc Bundle是一个专门为Ruby开发者准备的文档集合,它包含了Ruby语言及各种Gem库的详细文档,是开发者日常学习、查询和解决问题的重要工具。在这个压缩包中,我们可以找到关于Ruby语言本身以及众多Gem库的详细...

    Ruby - Ruby for Rails

    - **循环结构**:介绍 while、for、each 等循环语句,以及它们之间的区别。 - **异常处理**:探讨 Ruby 中的异常处理机制,包括 raise 和 rescue 关键字的使用。 - **递归函数**:学习如何使用递归函数解决复杂问题...

    Programming-Ruby-1.9源代码

    这些源代码是学习和探索Ruby语言的重要资源,涵盖了从基础语法到高级特性的各种应用场景。 1. **Ruby语言基础** - 变量:Ruby支持局部变量、实例变量、类变量和全局变量,源代码中会展示它们的用法和作用域。 - ...

    Ruby-Falcon用于Ruby的高性能web服务器支持HTTP2和HTTPS

    通过研究这些源代码,开发者可以深入理解Falcon的工作原理,学习如何定制和扩展服务器的行为。例如,可以了解如何集成自定义的中间件,或者调整服务器内部的事件循环机制来适应特定的需求。 总的来说,Ruby-Falcon...

    Programming-Ruby-1.9.pdf

    - **控制结构**: Ruby支持常见的流程控制语句,如if/else、while、for循环等。 - **正则表达式**: Ruby内置了强大的正则表达式引擎,方便进行文本处理。 - **块和迭代器**: 块是Ruby中的匿名函数,常用于数组和集合...

    关于ruby学习的资料

    在Ruby学习中,这样的文档可能是关于错误处理、异常捕获(trap)或系统调用的相关教程。在Ruby中,`trap`常用于设置信号处理器,允许程序在接收到特定系统信号时执行自定义操作,这在编写可靠和响应迅速的系统中非常...

    Ruby-Curly一个完全分离结构和逻辑的模板语言

    如果要深入了解或使用这个版本的Curly,你可以解压后查看文档、示例文件或源码,学习其具体用法和API。通过实际操作,可以更好地理解Curly如何帮助开发者实现结构与逻辑的分离,以及在实际项目中的应用技巧。 总的...

    Python & Ruby 学习

    而文件名“New Microsoft Office Word Document.docx”则提示我们其中可能包含一篇关于Python和Ruby学习的文档,详细讲解了相关概念、技巧或实践案例。遗憾的是,由于没有实际的文件内容,无法进一步展开讨论。如果...

    Ruby-fastrubyRuby编写快速收集常见Ruby惯用语

    Ruby中有很多高效的编程习惯和技巧,例如使用块(blocks)、Proc对象和Lambda表达式来替代循环结构。`fast-ruby` 项目提供了这些方面的比较,展示了如何通过改变编程习惯来提高代码执行速度。 2. **方法调用优化**...

    Ruby-编程基础阅读物主要是Ruby示例

    Ruby是一种面向对象的编程语言,以其简洁、优雅的语法和强大的功能著称。这篇阅读物主要聚焦于Ruby的基础,通过实例来帮助初学者理解和掌握这门语言的...学习Ruby,不仅是一次技术的探索,也是一次对编程艺术的欣赏。

    Ruby-rufusschedulerRuby作业定时调度程序

    通过阅读源码,你可以了解到更多关于内部机制和实现细节的信息,比如任务的调度策略、事件循环、线程管理等。 总的来说,rufus-scheduler是Ruby开发者实现定时任务不可或缺的工具,它提供了一种高效、灵活的方式来...

    Ruby-Traceroute一个Rake任务帮助你找到Rails3应用中堵死的路线和未使用的actions

    描述中提到的“堵死的路线”可能指的是路由配置中存在循环或者不恰当的优先级设置,这会导致请求处理的延迟或资源浪费。而“未使用的actions”则指的是控制器中的方法没有被任何路由关联,这些无用的动作可能会增加...

    essential_ruby

    Ruby是一种易于学习、动态且具备面向对象特性的编程语言,它支持动态类型和自动内存管理。作为一门以面向对象为核心的语言,Ruby同时也提供了对过程式及函数式编程的支持,并拥有强大的内省(introspection)与元...

    ruby源代码--videojuicer

    在开始之前,我们需要了解Ruby的基础知识,包括变量、数据类型、控制结构(如if语句、循环)、类与对象,以及模块和继承。这些是理解任何Ruby项目的基础,尤其是对于SDK这样的库,它们通常会封装复杂的功能并提供...

Global site tag (gtag.js) - Google Analytics