Ruby - 迭代器



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

迭代器依次返回集合中的所有元素。这里我们将讨论两个迭代器,eachcollect。让我们详细了解一下。

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
广告

© . All rights reserved.