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

instance method Enumerable#max_by

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

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

要素が存在しないときは nil を返します。該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#maxEnumerable#max_by の違いは Enumerable#sortEnumerable#sort_by の違いと同じです。

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

例:

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

[SEE_ALSO] Enumerable#sort_by