簡單來說:迭代(iterate)指的是重複做相同的事,所以迭代器(iterator)就是用來重複多次相同的事。
迭代器是集合支援的方法。儲存一組資料成員的物件稱為集合。在 ruby 中,陣列(array)和雜湊(hash)可以稱之為集合。
迭代器返回集合的所有元素,乙個接著乙個。在這裡我們將討論兩種迭代器,each 和 collect。
each 迭代器返回陣列或雜湊的所有元素。
語法:
collection.each
do |variable|
code
end
例項:
#!/usr/bin/ruby
ary = [1,2,3,4,5]
ary.each do |i|
puts i
end
collect 迭代器返回集合的所有元素。
語法:
collection =collection.collect
collect 方法不需要總是與乙個塊關聯。collect 方法返回整個集合,不管它是陣列或者是雜湊。
例項:
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = array.new
b = a.collect
puts b
#=>246
810
注意:collect 方法不是陣列間進行複製的正確方式。這裡有另乙個稱為 clone 的方法,用於複製乙個陣列到另乙個陣列。
當您想要對每個值進行一些操作以便獲得新的陣列時,您通常使用 collect 方法。
Ruby學習筆記 3 容器和迭代器
anarray 用literal的方式 anarray2 array.new 使用new的方式a 1,3,5,7,9 1,3,5,7,9 a 1 bat 1,bat 5,7,9 a 3 cat 1,bat cat 7,9 a 3 9,8 1,bat cat 9,8 9 a 6 99 1,bat ca...
Ruby語言基礎學習九 Ruby範圍 迭代器
範圍,本文參考 作為序列的範圍 ruby 使用 和 範圍運算子建立這些序列。兩點形式建立乙個包含指定的最高值的範圍,三點形式建立乙個不包含指定的最高值的範圍。array 值分隔符 range1 1.10 to a 轉換成陣列 range2 a d to a range3 bar bat to a p...
ruby的迭代器
1 陣列的迭代器 ary 1,2,3,4,5,6,7 ary.each 或者可以用each do end的寫法 ary 1,2,3,4,5,6,7 ary.each do x puts x end 也可以用each with index來獲取每次訪問陣列的index ary 1,2,3,4,5,6,...