- Ruby 基础
- Ruby - 首页
- Ruby - 概述
- Ruby - 环境设置
- Ruby - 语法
- Ruby - 类和对象
- Ruby - 变量
- Ruby - 运算符
- Ruby - 注释
- Ruby - IF...ELSE
- Ruby - 循环
- Ruby - 方法
- Ruby - 代码块
- Ruby - 模块
- Ruby - 字符串
- Ruby - 数组
- Ruby - 哈希表
- Ruby - 日期和时间
- Ruby - 范围
- Ruby - 迭代器
- Ruby - 文件 I/O
- Ruby - 异常
Ruby - 迭代器
迭代器不过是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中,数组和哈希表可以被称为集合。
迭代器依次返回集合中的所有元素。这里我们将讨论两个迭代器,each 和 collect。让我们详细了解一下。
Ruby each 迭代器
each 迭代器返回数组或哈希表中的所有元素。
语法
collection.each do |variable| code end
为集合中的每个元素执行代码。这里,集合可以是数组或 Ruby 哈希表。
示例
#!/usr/bin/ruby ary = [1,2,3,4,5] ary.each do |i| puts i end
这将产生以下结果:
1 2 3 4 5
你总是将each迭代器与代码块关联。它依次将数组的每个值返回到代码块。该值存储在变量i中,然后显示在屏幕上。
Ruby collect 迭代器
collect 迭代器返回集合中的所有元素。
语法
collection = collection.collect
collect 方法并不总是需要与代码块关联。collect 方法返回整个集合,无论它是数组还是哈希表。
示例
#!/usr/bin/ruby a = [1,2,3,4,5] b = Array.new b = a.collect puts b
这将产生以下结果:
1 2 3 4 5
注意 - collect 方法不是在数组之间进行复制的正确方法。还有另一种称为clone的方法,应将其用于将一个数组复制到另一个数组中。
当你希望对每个值执行某些操作以获得新数组时,通常会使用 collect 方法。例如,此代码生成一个数组b,其中包含a中每个值的 10 倍。
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b
这将产生以下结果:
10 20 30 40 50
广告