迭代器不过是 collections 集合支持的方法。存储一组数据成员的对象称为集合。在Ruby中,数组和哈希可以称为集合。
迭代器一个接一个地返回集合的所有元素。无涯教程将在这里讨论两个迭代器,分别是 each 和 collect 。
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
参考链接
https://www.learnfk.com/ruby/ruby-iterators.html
标签:哈希,迭代,ruby,无涯,collect,数组,集合,Ruby From: https://blog.51cto.com/u_14033984/8487120