条件式の結果も返す Enumerable#find
module Enumerable def find2(&block) each do |x| if val = block[x] return [x, val] end end end end ["hoge", "boke", "nico"].find2{|s| s =~ /ok/} # => ["boke", 1]
module Enumerable def find2(&block) each do |x| if val = block[x] return [x, val] end end end end ["hoge", "boke", "nico"].find2{|s| s =~ /ok/} # => ["boke", 1]