Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Rangeクラス > min

instance method Range#min

min -> object | nil[permalink][rdoc]

範囲内の最小の値を返します。

例:

(1..5).min # => 1

始端が終端より大きい場合、終端を含まない範囲オブジェクトの始端が終端と 等しい場合は nil を返します。

例:

(2..1).min  # => nil
(1...1).min # => nil
min {|a, b| ... } -> object | nil[permalink][rdoc]

ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素を返しま す。範囲内に要素が存在しなければ nil を返します。

ブロックの値は、a > b のとき正、a == b のとき 0、 a < b のとき負の整数 を、期待しています。

[EXCEPTION] TypeError:
ブロックが整数以外を返したときに発生します。

[SEE_ALSO] Range#first, Range#max, Enumerable#min

例:

h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).min { |a, b| h[a].length <=> h[b].length }   # => 1