sobre sirve sintaxis que programar programacion program para libros lenguaje funcion español cual codigo ruby arrays enumerable

sirve - ¿Cuál es la forma más rápida en Ruby para obtener el primer elemento enumerable para el cual un bloque devuelve verdadero?



programar en ruby (3)

¿Cuál es la forma más rápida en Ruby para obtener el primer elemento enumerable para el cual un bloque devuelve verdadero?

Por ejemplo:

arr = [12, 88, 107, 500] arr.select {|num| num > 100 }.first # => 107

Me gustaría hacer esto sin ejecutar toda la matriz, ya que select , ya que solo necesito la primera coincidencia.

Sé que podría hacer each y romper con el éxito, pero pensé que había un método nativo para hacerlo; Simplemente no lo he encontrado en la documentación.


Varias clases básicas de ruby, incluyendo Array y Hash incluyen el módulo Enumerable que proporciona muchos métodos útiles para trabajar con estas enumeraciones.

Este módulo proporciona los métodos de find o detect que hacen exactamente lo que desea lograr:

arr = [12, 88, 107, 500] arr.find { |num| num > 100 } # => 107

Ambos nombres de métodos son sinónimos entre sí y hacen exactamente lo mismo.


arr.find{|el| el>100} #107 (or detect; it''s in the Enumerable module.)


arr[arr.index {|num| num > 100 }] #=> 107