Ruby中使用each和collect進(jìn)行迭代的用法
迭代器是什么也不是,但集合的方法支持。存儲(chǔ)一組數(shù)據(jù)成員的對(duì)象被稱為集合。在Ruby中,數(shù)組和哈??梢员环Q為集合.
迭代器返回一個(gè)集合的所有元素,一前一后。我們將討論兩個(gè)迭代器,在這里,每個(gè)收集。讓我們來看看這些細(xì)節(jié).
Ruby each 迭代:
每個(gè)迭代器返回一個(gè)數(shù)組的所有元素或哈希.
語法:
collection.each do |variable| code end
在集合中的每個(gè)元素執(zhí)行的代碼。這里收集可能是一個(gè)數(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)的每個(gè)迭代。它返回?cái)?shù)組的每個(gè)值,逐個(gè)塊。該值存儲(chǔ)在變量i,然后在屏幕上顯示.
Ruby collect 迭代:
收集的迭代器返回一個(gè)集合的所有元素.
語法:
collection = collection.collect
收集方法并不總是需要塊。收集方法返回整個(gè)集合,無論它是一個(gè)數(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)使用一個(gè)數(shù)組復(fù)制到另一個(gè)陣列.
您通常使用的收集方法,當(dāng)你想要做的東西與每個(gè)值,以獲取新的陣列。例如,這段代碼包含在每個(gè)值的10倍,產(chǎn)生一個(gè)數(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)文章
print不自動(dòng)換行,puts會(huì)自動(dòng)換行
print不自動(dòng)換行,puts會(huì)自動(dòng)換行...2007-10-10Ruby使用設(shè)計(jì)模式中的代理模式與裝飾模式的代碼實(shí)例
這篇文章主要介紹了Ruby使用設(shè)計(jì)模式中的代理模式與裝飾模式的代碼實(shí)例,代理模式與裝飾模式都可以歸類為結(jié)構(gòu)型的設(shè)計(jì)模式,需要的朋友可以參考下2016-03-03Linux下Redis數(shù)據(jù)庫的安裝方法與自動(dòng)啟動(dòng)腳本分享
這篇文章主要介紹了Linux下Redis數(shù)據(jù)庫的安裝方法與自動(dòng)啟動(dòng)腳本分享,自動(dòng)啟動(dòng)腳本分別針對(duì)CentOS和Ubuntu系統(tǒng)來給出了編寫示例,需要的朋友可以參考下2016-05-05