- Ruby 基礎
- Ruby - 首頁
- Ruby - 概述
- Ruby - 環境設定
- Ruby - 語法
- Ruby - 類和物件
- Ruby - 變數
- Ruby - 運算子
- Ruby - 註釋
- Ruby - IF...ELSE
- Ruby - 迴圈
- Ruby - 方法
- Ruby - 程式碼塊
- Ruby - 模組
- Ruby - 字串
- Ruby - 陣列
- Ruby - 雜湊表
- Ruby - 日期和時間
- Ruby - 範圍
- Ruby - 迭代器
- Ruby - 檔案 I/O
- Ruby - 異常
Ruby - 迭代器
迭代器不過是集合支援的方法。儲存一組資料成員的物件稱為集合。在 Ruby 中,陣列和雜湊表可以被稱為集合。
迭代器依次返回集合中的所有元素。這裡我們將討論兩個迭代器,each 和 collect。讓我們詳細瞭解一下。
Ruby each 迭代器
each 迭代器返回陣列或雜湊表中的所有元素。
語法
collection.each do |variable| code end
為集合中的每個元素執行程式碼。這裡,集合可以是陣列或 Ruby 雜湊表。
示例
#!/usr/bin/ruby ary = [1,2,3,4,5] ary.each do |i| puts i end
這將產生以下結果:
1 2 3 4 5
你總是將each迭代器與程式碼塊關聯。它依次將陣列的每個值返回到程式碼塊。該值儲存在變數i中,然後顯示在螢幕上。
Ruby collect 迭代器
collect 迭代器返回集合中的所有元素。
語法
collection = collection.collect
collect 方法並不總是需要與程式碼塊關聯。collect 方法返回整個集合,無論它是陣列還是雜湊表。
示例
#!/usr/bin/ruby a = [1,2,3,4,5] b = Array.new b = a.collect puts b
這將產生以下結果:
1 2 3 4 5
注意 - collect 方法不是在陣列之間進行復制的正確方法。還有另一種稱為clone的方法,應將其用於將一個數組複製到另一個數組中。
當你希望對每個值執行某些操作以獲得新陣列時,通常會使用 collect 方法。例如,此程式碼生成一個數組b,其中包含a中每個值的 10 倍。
#!/usr/bin/ruby
a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b
這將產生以下結果:
10 20 30 40 50
廣告