Ruby迭代器 - each/collect
迭代器是不过是所支持的集合的方法 。存储一组数据成员的对象被称为集合。在Ruby中,可以被称为数组和哈希集合。
迭代器返回的所有元素的集合,一前一后。我们将要讨论的两个迭代器,在这里每个集合。让我们来看看这些细节。
Ruby 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
始终相关联每个迭代器块。它返回的数组的每个值块,一个接一个。该值存储在变量i中,然后在屏幕上显示。
Ruby collect 迭代:
收集迭代器返回集合中的所有元素。
语法:
collection = collection.collect
收集方法并不总是需要相关联块。收集方法返回整个集合,无论它是一个数组或哈希。
例如:
#!/usr/bin/ruby a = [1,2,3,4,5] b = Array.new b = a.collect puts b
这将产生以下结果:
1 2 3 4 5
注意: 收集方法是不正确的方式做阵列之间的复制。还有另一种方法称为克隆应该使用哪个复制到另一个数组的一个数组。
通常使用的收集方法,当想做些什么,每个值可用来获得新的数组。例如,该代码产生一个数组b中的每个值的10倍。
#!/usr/bin/ruby a = [1,2,3,4,5] b = a.collect{|x| 10*x} puts b
这将产生以下结果:
10 20 30 40 50