迭代器不过是 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

这将产生以下输出-

链接:https://www.learnfk.com/ruby/ruby-iterators.html

来源:LearnFk无涯教程网

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

这将产生以下输出-

链接:https://www.learnfk.com/ruby/ruby-iterators.html

来源:LearnFk无涯教程网

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

这将产生以下输出-

链接:https://www.learnfk.com/ruby/ruby-iterators.html

来源:LearnFk无涯教程网

10
20
30
40
50

这一章你学到了什么?来做个笔记,好记忆不如烂笔头! 如果觉得对您有帮助,麻烦帮分享给您的朋友😊😊

祝学习愉快!(如果觉得不正确,选中要修改的内容->右键->编辑)

点我分享笔记