📅  最后修改于: 2020-10-16 05:54:48             🧑  作者: Mango
迭代器不过是集合支持的方法。存储一组数据成员的对象称为集合。在Ruby中,数组和哈希可以称为集合。
迭代器一个接一个地返回集合的所有元素。我们将在这里讨论两个迭代器,每个迭代器和collect 。让我们详细看看这些。
每个迭代器返回数组或哈希的所有元素。
collection.each do |variable|
code
end
为collection中的每个元素执行代码。在这里,集合可以是数组或红宝石哈希。
#!/usr/bin/ruby
ary = [1,2,3,4,5]
ary.each do |i|
puts i
end
这将产生以下结果-
1
2
3
4
5
您总是将每个迭代器与一个块关联。它将数组的每个值一一返回到块。该值存储在变量i中,然后显示在屏幕上。
在收集迭代器返回一个集合中的所有元素。
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包含以10倍的每个值。
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b
这将产生以下结果-
10
20
30
40
50