Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Enumerableモジュール > min_by

instance method Enumerable#min_by

min_by -> Enumerator[permalink][rdoc]
min_by {|item| ... } -> object | nil

各要素を順番にブロックに渡して評価し、その評価結果を <=> で比較して、最小であった値に対応する元の要素を返します。

要素が存在しないときは nil を返します。

該当する要素が複数存在する場合、どの要素を返すかは不定です。

ブロックを省略した場合は Enumerator を返します。

Enumerable#minEnumerable#min_by の違いは Enumerable#sortEnumerable#sort_by の違いと同じです。

例:

a = %w(albatross dog horse)
a.min_by                    # => #<Enumerator: ["albatross", "dog", "horse"]:min_by>
a.min_by { |x| x.length }   # => "dog"

[SEE_ALSO] Enumerable#sort_by