こんにちは!
最近雨模様が続いてますね...
梅雨が明けて真夏の日々が待ち遠しいです(←夏生まれ)
はい!
今回は、ブロックを扱う配列のメソッドの中でも、特に使用頻度の高いメソッドをまとめていきます!
それではLet's GO!
mapメソッド
mapメソッドは各要素に対してブロックを評価した結果を新しい配列に返します!
具体例を交えながら説明していきますね!
例えば、以下のように配列の各要素に5を足した新しい配列を作るコードがあります。
numbers = [0,1,2,3,4,5]
plus_numbers = []
numbers.each do |number|
plus_numbers << number + 5
end
plus_numbers #=> [5,6,7,8,9,10]
ここでmapメソッドの登場です!!!
mapメソッドを使うと、ブロックの返り値が配列の要素となる新しい配列が形成されるため、mapメソッドの返り値をそのまま変数に入れることができます!
それでは見てみましょう!
numbers = [0,1,2,3,4,5]
plus_numbers = numbers.map do |number|
number + 5
end
plus_numbers #=> [5,6,7,8,9,10]
selectメソッド
selectメソッドは、各要素に対してブロックを評価して、その返り値が真の要素を集めた配列を返すメソッドです!
同じく具体例を交えながら説明していきますね!
例えば、以下のようにすると、"e"を含んだ値だけを集めた配列を新たに作ることができます!
colors = ["red","blue","yellow","black"]
new_colors = colors.select do |color|
color.include?('e')
end
new_colors #=> ["red","blue","yellow"]
rejectメソッド
rejectメソッドはselectメソッドの反対で、ブロックの返り値が真になった要素を除外した配列を返します!
例えば、以下のようにすると、"e"を含んだ値を除いた配列を新たに作ることができます!
colors = ["red","blue","yellow","black"]
new_colors = colors.reject do |color|
color.include?('e')
end
new_colors #=> ["black"]
findメソッド
findメソッドは、ブロックの返り値が真になった最初の要素を返します!
例えば、以下のようにすると、"e"を含んだ最初の要素を返します!
colors = ["red","blue","yellow","black"]
new_colors = colors.find do |color|
color.include?('e')
end
new_colors #=> ["red"]
以上となります!
配列のメソッドは使い方次第でとても便利なので知っておくだけでもかなり幅が広がると思いました!
何かご意見等ございましたら、お気軽にコメントお願いします!
ご静聴ありがとうございました!