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