Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Enumerableモジュール > min_by
min_by -> Enumerator
[permalink][rdoc]min_by(n) -> Enumerator
min_by {|item| ... } -> object | nil
min_by(n) {|item| ... } -> Array
各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最小であった値に対応する元の要素、もしくは最小の n 要素を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
ブロックを省略した場合は Enumerator を返します。
Enumerable#min と Enumerable#min_by の 違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
例:
a = %w(albatross dog horse) a.min_by # => #<Enumerator: ["albatross", "dog", "horse"]:min_by> a.min_by { |x| x.length } # => "dog" a.min_by(2) # => #<Enumerator: ["albatross", "dog", "horse"]:min_by(2)> a.min_by(2) {|x| x.length } # => ["dog", "horse"]
[SEE_ALSO] Enumerable#sort_by