collectメソッドとは
collectは、ブロックの結果を配列として返すメソッド。
つまり、配列の要素一つ一つの処理結果を配列で返してくれるメソッドです。
例として、配列の要素ごとの演算結果を取得したい場合に便利です。
オブジェクト.collect { |ブロック引数| 処理}
使用例
配列の要素それぞれに、5を足す処理を行って結果を取得したい場合。
arr = [1, 3, 5, 7, 9, 11, 13, 15]
arr.collect { |i| i + 5 }
=> [6, 8, 10, 12, 14, 16, 18, 20]
それぞれの要素に5を足した結果が配列として返ってきています。
次に、配列の文字列の要素それぞれを、小文字にする処理を行った結果を取得したい場合。
arr = ["KATO", "SATO", "ITO"]
arr.collect { |n| n.downcase }
=> ["kato", "sato", "ito"]
それぞれの要素を小文字にする処理を行なった結果が配列として返ってきています。