/
Вопросы и ответы
/
Ruby
/

Как найти значение в массиве ruby

Как найти значение в массиве ruby

4 года назад

Человек-Молекула

Ответы

0

Узнать, содержит ли массив значение можно методом include?

a = [1,2,3,4,5]
a.include?(3)   # true
a.include?(9)   # false

С помощью метода find() (и его алиас detect())

И вернут первое значение, которое удовлетворяет условию в блоке. Если ничего не найдено, то вернется nil

(1..10).detect   { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
(1..10).find     { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
(1..100).detect  { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35
(1..100).find    { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35

Еще можно отфильтровать массив и взять первое значение, которое попадает к условию

array = [1,2,3]
found = array.select {|e| e == 3} # [3]

found = array.select {|e| e == 3}.first # 3

4 года назад

Nikolai Gagarinov