max_by -> Enumerator[permalink][rdoc]max_by {|item| ... } -> object | nil-
各要素を順番にブロックに渡して実行し、その評価結果を <=> で比較して、最大であった値に対応する元の要素を返します。
要素が存在しないときは nil を返します。該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の違いは Enumerable#sort と Enumerable#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