Ruby中使用each和collect進行迭代的用法
迭代器是什么也不是,但集合的方法支持。存儲一組數(shù)據(jù)成員的對象被稱為集合。在Ruby中,數(shù)組和哈??梢员环Q為集合.
迭代器返回一個集合的所有元素,一前一后。我們將討論兩個迭代器,在這里,每個收集。讓我們來看看這些細(xì)節(jié).
Ruby each 迭代:
每個迭代器返回一個數(shù)組的所有元素或哈希.
語法:
collection.each do |variable| code end
在集合中的每個元素執(zhí)行的代碼。這里收集可能是一個數(shù)組或ruby哈希.
例子:
#!/usr/bin/ruby ary = [1,2,3,4,5] ary.each do |i| puts i end
這將產(chǎn)生結(jié)果如下:
1 2 3 4 5
你總是與塊關(guān)聯(lián)的每個迭代。它返回數(shù)組的每個值,逐個塊。該值存儲在變量i,然后在屏幕上顯示.
Ruby collect 迭代:
收集的迭代器返回一個集合的所有元素.
語法:
collection = collection.collect
收集方法并不總是需要塊。收集方法返回整個集合,無論它是一個數(shù)組或哈希.
例如:
#!/usr/bin/ruby a = [1,2,3,4,5] b = Array.new b = a.collect puts b
這將產(chǎn)生以下結(jié)果:
1 2 3 4 5
注: 收集方法是不正確的方式做陣列之間的復(fù)制。還有另一種方法稱為克隆,應(yīng)使用一個數(shù)組復(fù)制到另一個陣列.
您通常使用的收集方法,當(dāng)你想要做的東西與每個值,以獲取新的陣列。例如,這段代碼包含在每個值的10倍,產(chǎn)生一個數(shù)組b.
#!/usr/bin/ruby a = [1,2,3,4,5] b = a.collect{|x| 10*x} puts b
這將產(chǎn)生以下結(jié)果:
10 20 30 40 50
相關(guān)文章
Ruby使用設(shè)計模式中的代理模式與裝飾模式的代碼實例
這篇文章主要介紹了Ruby使用設(shè)計模式中的代理模式與裝飾模式的代碼實例,代理模式與裝飾模式都可以歸類為結(jié)構(gòu)型的設(shè)計模式,需要的朋友可以參考下2016-03-03Linux下Redis數(shù)據(jù)庫的安裝方法與自動啟動腳本分享
這篇文章主要介紹了Linux下Redis數(shù)據(jù)庫的安裝方法與自動啟動腳本分享,自動啟動腳本分別針對CentOS和Ubuntu系統(tǒng)來給出了編寫示例,需要的朋友可以參考下2016-05-05