Ruby 配列内で指定した値が最後に見つかった位置を取得する

Ruby 配列内で指定した値が最後に見つかった位置を取得する

Rubyで、配列内で指定した値が最後に見つかった位置を取得するソースコードを記述してます。「rindex」の条件に値を指定刷ることで可能です。

環境

  • OS windows11 home
  • ruby 3.1.2p20

配列内で指定した値が最後に見つかった位置を取得

配列内で指定した値が最後に見つかった位置を取得するには「rindex」を使用します。

配列.rindex { 条件 }

実際に使用してみます。

arr = [1, 1, 5, 5, 1]

p arr.rindex { |v| v == 1 }
# 4

p arr.rindex { |v| v == 5 }
# 3

p arr
# [1, 1, 5, 5, 1]

見つかった位置が取得されていることが確認できます。

値が存在しない場合

指定した値が存在しない場合は「nil」が返ります。

arr = [1, 1, 5, 5, 1]

p arr.rindex { |v| v == 2 }
# nil

最初に見つかった位置

逆に、最初に見つかった位置を取得する場合は「index」を使用します。

arr = [1, 1, 5, 5, 1]

p arr.index { |v| v == 1 }
# 0

p arr.index { |v| v == 5 }
# 2