<iframe src="//www.googletagmanager.com/ns.html?id=GTM-W8GZ33F&l=dataLayer" height="0" width="0" style="display:none;visibility:hidden"></iframe>

配列(array)から検索する

Ruby
たま

pv:

こちらでまとめているものは、Enumerableモジュールで配列(array)やハッシュの検索によく使われます。 Enumerableについては別途まとめますがここでは素直な配列(array)検索のみを扱います。

find 配列(array)から一つを検索する

配列(array) [1, 3, 5] の前から順番に条件に合致したものを検索していき 合致したものをが見つかった時点で処理が終了します。 なのでこの場合1より大きいなので3が見つかった時点で処理が終了します。

hoge11 = [1, 3, 5]
p hoge11.find { |n| n > 1 }
# => 3

合致するものがない場合はnilが返ります

p hoge11.find { |n| n > 5 }
# => nil

detectも同義です

p hoge11.detect { |n| n > 5 }
# => nil

select 配列(array)から条件に合致する配列を作成する

条件に合致するものは全て取得して配列が返ります

p hoge11.select { |n| n > 1 }
# => [3, 5]

条件に合致したものが無い場合は空の配列が返ります

p hoge11.select { |n| n > 5 }
# => []

find_allも同義です

p hoge11.find_all { |n| n > 5 }
# => []

この記事を書いた人

たま

エンジニア天国の会社を作るべく動く。rubyとgolangが主な担当。フリーランスエンジニア歴3年。エンジニア歴8年。

たまの書いた記事一覧

関連記事