Ruby_Array_38
この記事は、以下のドキュメントを改変(自分なりに整理)して利用しています。
class Array (Ruby 3.0.0 リファレンスマニュアル)
インスタンスメソッド
minmax -> [object, object]
minmax {|a, b| ... } -> [object, object]
- 最小の要素と最大の要素を要素とするサイズ2の配列を返す
- 前者のminmaxの方は、各要素がすべて<=>メソッドを実装していることを仮定している
irb(main):001:0> arr = %w[foo barbar hoge] => ["foo", "barbar", "hoge"] irb(main):002:0> arr.minmax => ["barbar", "hoge"] irb(main):003:0> arr.minmax {|a, b| a.size <=> b.size } => ["foo", "barbar"]
irb(main):001:0> [10].minmax => [10, 10]
irb(main):001:0> [].minmax => [nil, nil] # memo # これは覚えておきたい
irb(main):001:0> [10, true].minmax Traceback (most recent call last): 5: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `<main>' 4: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `load' 3: from /Users/mfham/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.3.0/exe/irb:11:in `<top (required)>' 2: from (irb):1:in `<main>' 1: from (irb):1:in `minmax' ArgumentError (comparison of Integer with true failed)