迭代器是什么也不是,但集合的方法支持。存儲(chǔ)一組數(shù)據(jù)成員的對象被稱為集合。在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é)果如下:
你總是與塊關(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é)果:
注: 收集方法是不正確的方式做陣列之間的復(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é)果:
您可能感興趣的文章:- Ruby on Rails中MVC結(jié)構(gòu)的數(shù)據(jù)傳遞解析
- 在Ruby on Rails中使用AJAX的教程
- 使用Ruby on Rails快速開發(fā)web應(yīng)用的教程實(shí)例