Ruby 循环与迭代器

Ruby 循环与迭代器

循环

。。。。

迭代器

迭代器本质上可以理解为是循环的一种类型

times

ruby 复制代码
3.times do
print "Ho! "
end
=begin
Ho! Ho! Ho! 
=end

上述代码表示我们对当前 block 部分中的内容循环三次。最终,我们打印出了三个 Ho!

upto

ruby 复制代码
0.upto(9) do |x|
  print x, " "
end
=begin
0 1 2 3 4 5 6 7 8 9
=end

上述代码表示我们将循环变量初始值设置为 0,每次循环后令其自增 1,直到值为 9 的时候停止循环。因此,最终得到的结果为 0 1 2 3 4 5 6 7 8 9

这里的 doend 之间被称作 block(区块),表示被循环语句所在的部分,do 后面的 |x| 表示循环变量的名称,这个名称用户可以自定义,比如,我们可以将其改为 i 也可以得到一样的结果。

ruby 复制代码
0.upto(9) do |i|
  print i, " "
end
=begin
0 1 2 3 4 5 6 7 8 9
=end

同时,我们也可以不进行循环变量名称的设定,直接使用 _1 来表示接收到的第一个循环变量进行输出。

ruby 复制代码
0.upto(9) do
  print _1, " "
end
=begin
0 1 2 3 4 5 6 7 8 9
=end

对于含有多个循环变量的循环,可以依次使用 _1, _2, _3 来代替第 123 个循环变量。但是,对于超过 1 个循环变量的循环,推荐手动设定循环变量的名称,避免混淆。

step

上面我们介绍了循环变量自增 1 的循环方式,这里我们介绍循环变量每次自增 3 的循环方式。

ruby 复制代码
0.step(12, 3) do |x| 
  print x, " "
end
=begin
0 3 6 9 12
=end

后续,再进行添加,目前先截止到这里。

相关推荐
计算机毕设定制辅导-无忧学长2 天前
从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)
网络·rabbitmq·ruby
showmethetime3 天前
RabbitMQ实用技巧
分布式·rabbitmq·ruby
ghie90903 天前
SpringCloud-基于SpringAMQP实现消息队列
后端·spring cloud·ruby
bubiyoushang8884 天前
RabbitMQ如何保证消息可靠性
分布式·rabbitmq·ruby
计算机毕设定制辅导-无忧学长5 天前
RabbitMQ 监控与调优实战指南(二)
分布式·rabbitmq·ruby
二楼后座。6 天前
mac安装brew时macos无法信任ruby的解决方法
开发语言·macos·ruby
路由侠内网穿透7 天前
本地部署消息代理软件 RabbitMQ 并实现外部访问( Windows 版本 )
服务器·开发语言·windows·数据分析·rabbitmq·ruby
开开心心_Every7 天前
功能丰富的PDF处理免费软件推荐
运维·笔记·qt·智能手机·pdf·音视频·ruby
计算机毕设定制辅导-无忧学长11 天前
RabbitMQ 可靠性保障:消息确认与持久化机制(二)
分布式·rabbitmq·ruby
计算机毕设定制辅导-无忧学长13 天前
RabbitMQ 集群与高可用方案设计(二)
分布式·rabbitmq·ruby