HOWTO · Ruby
Encuentra un valor en un array de Ruby
Este tutorial explica cómo encontrar un valor en un array de Ruby.
En esta página
La mejor manera de encontrar un valor en un array de Ruby es utilizando el método find o detect; ambos son alias y se pueden usar indistintamente. Aceptan un argumento de bloque y devuelven el primer valor que satisface cualquier condición especificada en el bloque.
El siguiente ejemplo busca el número impar en un array de 2 a 4.
Código de ejemplo:
numbers = [2, 3, 4]
odd_number = numbers.find { |n| n.odd? }
puts odd_number
Producción :
3
Código de ejemplo:
numbers = [2, 3, 4]
odd_number = numbers.detect { |n| n.odd? }
puts odd_number
Producción :
3
Otra forma de encontrar un valor en un array es utilizando el método select.
Aunque no es eficiente, vale la pena mencionarlo. Es ineficiente porque itera a través de todal array que estamos buscando, independientemente de si el valor que buscamos está al principio o al final del array, a diferencia de find y detect que dejan de iterar tan pronto como encuentran el valor.
También vale la pena mencionar que el método select está diseñado para buscar múltiples valores y devolverlos como un array. Suponiendo que esperábamos varios números impares en el ejemplo anterior, la select habría sido un método preferido para usar.
Código de ejemplo:
numbers = [2, 3, 4, 5]
odd_numbers = numbers.select { |n| n.odd? }
puts odd_numbers
Producción :
[3, 5]