当前位置: 首页 > news >正文

Ruby 循环与迭代器

Ruby 循环与迭代器

  • 循环
  • 迭代器
    • times
    • upto
    • step

循环

。。。。

迭代器

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

times

3.times do
print "Ho! "
end
=begin
Ho! Ho! Ho! 
=end

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

upto

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 也可以得到一样的结果。

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

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

0.upto(9) doprint _1, " "
end
=begin
0 1 2 3 4 5 6 7 8 9
=end

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

step

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

0.step(12, 3) do |x| print x, " "
end
=begin
0 3 6 9 12
=end

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

相关文章:

  • 图片爬虫通过模板及使用说明
  • 01-数据结构概述和时间空间复杂度
  • 数据驱动下的具身智能进化范式
  • 3DVR制作的工具或平台
  • 视差计算,求指导
  • [Java实战]Spring Boot + Netty 实现 TCP 长连接客户端及 RESTful 请求转发(二十六)
  • 3D曲面上的TSP问题(一):曲面上点集距离求解
  • 【Python 面向对象】
  • 如何判断一个网站后端是用什么语言写的
  • Modern C++(一)基本概念
  • LeRobot 框架的核心架构概念和组件(下)
  • Framebuffer显示bmp图片
  • MySQL主从复制与读写分离
  • 概率相关问题
  • antd 主题色定制
  • Node.js 循环依赖问题详解:原理、案例与解决方案
  • Modbus TCP转Profinet网关:数字化工厂异构网络融合的核心枢纽
  • “this”这个关键字
  • Node.js
  • ip命令详解
  • 年在沪纳税350亿人民币,这些全球头部企业表示“对上海承诺不会变”
  • 光明日报:家长孩子共同“息屏”,也要保证高质量陪伴
  • 沧州制造展现硬核实力:管道装备支撑大国基建,核电锚栓实现国产
  • 经济日报:美国滥施汽车关税损人不利己
  • 著名连环画家庞邦本逝世
  • SIFF动画单元公布首批片单:《燃比娃》《凡尔赛玫瑰》等