Ruby 配列内で条件が一致した値が最初に見つかった位置と値を取得する
Rubyで、配列内で条件が一致した値が最初に見つかった位置と値を取得するソースコードを記述してます。「find_index」に条件を指定することで可能です。条件に一致する値がない場合は「nil」が返ります。
環境
- OS windows11 home
- ruby 3.1.3p185
配列内で条件が一致した値が最初に見つかった位置と値を取得
配列内で条件が一致した値が最初に見つかった位置と値を取得するには「find_index」で条件を指定して使用します。
module Enumerable
def 関数名(&block)
if i = find_index(&block)
[i, self[i]]
end
end
end
実際に使用してみます。
module Enumerable
def f(&block)
if i = find_index(&block)
[i, self[i]]
end
end
end
p [1, 1, 5, 5, 6].f { |v| v > 1 } # [2, 5]
p [1, 1, 5, 5, 6].f { |v| v > 5 } # [4, 6]
見つかった位置と値が取得されていることが確認できます。
値が存在しない場合
指定した値が存在しない場合は「nil」が返ります。
module Enumerable
def f(&block)
if i = find_index(&block)
[i, self[i]]
end
end
end
p [1, 1, 5, 5, 6].f { |v| v > 8 } # nil
-
前の記事
mac ゴミ箱を空にするショートカットキー 2023.01.11
-
次の記事
Finder ライブラリを開くショートカットキー 2023.01.11
コメントを書く