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

instance method Range#minmax

minmax -> [object, object][permalink][rdoc]
minmax {|a, b| ... } -> [object, object]

範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

一つ目の形式では、全要素が互いに <=> メソッドで比較できることを仮定しています。

二つ目の形式では、要素同士の比較をブロックを用いて行います。ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。



(1..3).minmax # => [1, 3]

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