Ruby學習筆記 13 迭代器

2021-08-09 07:29:08 字數 933 閱讀 8165

簡單來說:迭代(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,...