こちらでまとめているものは、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 }
# => []