Как получить первый элемент при определенных условиях в перечислителе?

Я имею:

a = [1,2,3,4,5,4,3,2,1]
a.select{|x| x > 3} #=> [4, 5, 4]

То, что я хочу, это "4", первый элемент, который применяется только к условию. Я знаю, что мог сделать:

a.select{|x| x > 3}.first #=> 4

Но это мой лучший вариант? select метод пройдет через все элементы. Есть ли более эффективный способ применить это?

2 ответа

Вот оно использует Enumerable#find:

a = [1,2,3,4,5,4,3,2,1]
a.find{|x| x > 3}
# => 4

Использование find вместо select:

a.find { |x| x > 3 } # => 4
Другие вопросы по тегам