无涯教程-Ruby - 迭代器

77 阅读1分钟

迭代器不过是 collections 集合支持的方法。存储一组数据成员的对象称为集合。在Ruby中,数组和哈希可以称为集合。

迭代器一个接一个地返回集合的所有元素。无涯教程将在这里讨论两个迭代器,分别是 eachcollect

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

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

参考链接

www.learnfk.com/ruby/ruby-i…