循环结构在编程语言中是不可或缺的,所以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方法。
相关推荐
7. **掌握基本的控制结构**:学习Ruby的顺序结构(如语句的执行顺序)、选择结构(if/else、case)和循环结构(while、for、each),理解其在程序逻辑中的应用。 8. **数组的使用**:学习如何创建、访问和操作数组...
Ruby-TensorStream是一个开源项目,旨在为Ruby开发者提供一个类似于Google TensorFlow的深度学习框架。它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能,同时保持Ruby语言的优雅和简洁。这个项目在设计时...
通过学习Ruby-JMeter,你不仅可以提高测试脚本的可读性和可维护性,还可以更高效地构建和维护复杂的性能测试场景。 在压缩包`ruby-jmeter-master`中,你可能会找到项目的源代码、文档、示例脚本等资源。通过查看和...
同时,通过阅读源码,开发者可以深入理解Ruby的内部机制,学习如何实现一个动态语言的编译器和运行时系统。这对于想要参与Ruby核心开发或者希望提升编程技能的人来说,是一份宝贵的资源。 为了编译和运行Ruby源码,...
Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。Ruby 2.7.0是这个语言的一个稳定版本...同时,了解如何安装和配置Ruby以及与其相关的库,对于深入学习和使用Ruby至关重要。
本资料包针对Ruby学习者提供了丰富的资源,对于初学者来说是非常有价值的。 1. **Ruby基础知识**: - 变量:Ruby支持局部变量、实例变量、类变量和全局变量,它们以不同的符号开头,如`@`、`$`等。 - 类与对象:...
Ruby Doc Bundle是一个专门为Ruby开发者准备的文档集合,它包含了Ruby语言及各种Gem库的详细文档,是开发者日常学习、查询和解决问题的重要工具。在这个压缩包中,我们可以找到关于Ruby语言本身以及众多Gem库的详细...
- **循环结构**:介绍 while、for、each 等循环语句,以及它们之间的区别。 - **异常处理**:探讨 Ruby 中的异常处理机制,包括 raise 和 rescue 关键字的使用。 - **递归函数**:学习如何使用递归函数解决复杂问题...
这些源代码是学习和探索Ruby语言的重要资源,涵盖了从基础语法到高级特性的各种应用场景。 1. **Ruby语言基础** - 变量:Ruby支持局部变量、实例变量、类变量和全局变量,源代码中会展示它们的用法和作用域。 - ...
通过研究这些源代码,开发者可以深入理解Falcon的工作原理,学习如何定制和扩展服务器的行为。例如,可以了解如何集成自定义的中间件,或者调整服务器内部的事件循环机制来适应特定的需求。 总的来说,Ruby-Falcon...
- **控制结构**: Ruby支持常见的流程控制语句,如if/else、while、for循环等。 - **正则表达式**: Ruby内置了强大的正则表达式引擎,方便进行文本处理。 - **块和迭代器**: 块是Ruby中的匿名函数,常用于数组和集合...
在Ruby学习中,这样的文档可能是关于错误处理、异常捕获(trap)或系统调用的相关教程。在Ruby中,`trap`常用于设置信号处理器,允许程序在接收到特定系统信号时执行自定义操作,这在编写可靠和响应迅速的系统中非常...
如果要深入了解或使用这个版本的Curly,你可以解压后查看文档、示例文件或源码,学习其具体用法和API。通过实际操作,可以更好地理解Curly如何帮助开发者实现结构与逻辑的分离,以及在实际项目中的应用技巧。 总的...
而文件名“New Microsoft Office Word Document.docx”则提示我们其中可能包含一篇关于Python和Ruby学习的文档,详细讲解了相关概念、技巧或实践案例。遗憾的是,由于没有实际的文件内容,无法进一步展开讨论。如果...
Ruby中有很多高效的编程习惯和技巧,例如使用块(blocks)、Proc对象和Lambda表达式来替代循环结构。`fast-ruby` 项目提供了这些方面的比较,展示了如何通过改变编程习惯来提高代码执行速度。 2. **方法调用优化**...
Ruby是一种面向对象的编程语言,以其简洁、优雅的语法和强大的功能著称。这篇阅读物主要聚焦于Ruby的基础,通过实例来帮助初学者理解和掌握这门语言的...学习Ruby,不仅是一次技术的探索,也是一次对编程艺术的欣赏。
通过阅读源码,你可以了解到更多关于内部机制和实现细节的信息,比如任务的调度策略、事件循环、线程管理等。 总的来说,rufus-scheduler是Ruby开发者实现定时任务不可或缺的工具,它提供了一种高效、灵活的方式来...
描述中提到的“堵死的路线”可能指的是路由配置中存在循环或者不恰当的优先级设置,这会导致请求处理的延迟或资源浪费。而“未使用的actions”则指的是控制器中的方法没有被任何路由关联,这些无用的动作可能会增加...
Ruby是一种易于学习、动态且具备面向对象特性的编程语言,它支持动态类型和自动内存管理。作为一门以面向对象为核心的语言,Ruby同时也提供了对过程式及函数式编程的支持,并拥有强大的内省(introspection)与元...
在开始之前,我们需要了解Ruby的基础知识,包括变量、数据类型、控制结构(如if语句、循环)、类与对象,以及模块和继承。这些是理解任何Ruby项目的基础,尤其是对于SDK这样的库,它们通常会封装复杂的功能并提供...