迭代器是什么也不是,但集合的方法支持。存儲(chǔ)一組數(shù)據(jù)成員的對(duì)象被稱為集合。在Ruby中,數(shù)組和哈希可以被稱為集合.
迭代器返回一個(gè)集合的所有元素,一前一后。我們將討論兩個(gè)迭代器,在這里,每個(gè)收集。讓我們來看看這些細(xì)節(jié).
Ruby each 迭代:
每個(gè)迭代器返回一個(gè)數(shù)組的所有元素或哈希.
語法:
collection.each do |variable| codeend
在集合中的每個(gè)元素執(zhí)行的代碼。這里收集可能是一個(gè)數(shù)組或ruby哈希.
例子:
#!/usr/bin/rubyary = [1,2,3,4,5]ary.each do |i| puts iend
這將產(chǎn)生結(jié)果如下:
12345
你總是與塊關(guān)聯(lián)的每個(gè)迭代。它返回?cái)?shù)組的每個(gè)值,逐個(gè)塊。該值存儲(chǔ)在變量i,然后在屏幕上顯示.
Ruby collect 迭代:
收集的迭代器返回一個(gè)集合的所有元素.
語法:
collection = collection.collect
收集方法并不總是需要塊。收集方法返回整個(gè)集合,無論它是一個(gè)數(shù)組或哈希.
例如:
#!/usr/bin/rubya = [1,2,3,4,5]b = Array.newb = a.collectputs b
這將產(chǎn)生以下結(jié)果:
12345
注: 收集方法是不正確的方式做陣列之間的復(fù)制。還有另一種方法稱為克隆,應(yīng)使用一個(gè)數(shù)組復(fù)制到另一個(gè)陣列.
您通常使用的收集方法,當(dāng)你想要做的東西與每個(gè)值,以獲取新的陣列。例如,這段代碼包含在每個(gè)值的10倍,產(chǎn)生一個(gè)數(shù)組b.
#!/usr/bin/rubya = [1,2,3,4,5]b = a.collect{|x| 10*x}puts b
這將產(chǎn)生以下結(jié)果:
1020304050
|
新聞熱點(diǎn)
疑難解答
圖片精選