Ruby 配列内の最小値と最大値の両方のインデックス番号を取得する

Ruby 配列内の最小値と最大値の両方のインデックス番号を取得する

Rubyで、配列内の最小値と最大値の両方のインデックス番号を取得するソースコードを記述してます。

環境

  • OS windows11 home
  • ruby 3.1.2p20

配列内の最小値と最大値の両方のインデックス番号を取得

配列内の最小値と最大値の両方のインデックス番号を取得するには、以下のような関数を作成して使用します。

module Enumerable
  def position_minmax
    [index(min), index(max)]
  end
end

実際に使用してみます。

module Enumerable
  def position_minmax
    [index(min), index(max)]
  end
end

p [1, -2, 3, 4, -5].position_minmax
# [4, 3]

取得されていることが確認できます。

最大値と最小値が同じ場合は、両方「0」が、空の場合は「nil」が返ります。

module Enumerable
  def position_minmax
    [index(min), index(max)]
  end
end

p [1, 1, 1].position_minmax
# [0, 0]

p [].position_minmax
# [nil, nil]