tamaño objects len item for array ruby arrays

objects - ruby select



Primer elemento de una matriz con condición. (2)

En cuanto a mí, encontrar sonidos confusos. Como estoy esperando recibir más de un objeto para tal solicitud.

Prefiero usar detect para obtener una distinta.

Y select para encontrarlos todos.

Aquí lo que Ruby docs cuenta sobre ellos:

detect(ifnone = nil) {| obj | block } → obj or nil click to toggle source find(ifnone = nil) {| obj | block } → obj or nil detect(ifnone = nil) → an_enumerator find(ifnone = nil) → an_enumerator

Pasa cada entrada en la enumeración para bloquear. Devuelve el primer bloque para el que no es falso. Si ningún objeto coincide, llama a ifnone y devuelve su resultado cuando se especifica, o devuelve nil en caso contrario.

find_all {| obj | block } → array click to toggle source select {| obj | block } → array find_all → an_enumerator select → an_enumerator

Devuelve una matriz que contiene todos los elementos de enumeración para los cuales el bloque no es falso

¿Hay una manera más corta de encontrar el primer elemento en una matriz que cumpla con algunas condiciones?

my_array[ my_array.index {|x| x.some_test} ]


Prueba esto:

my_array.find{|x| x.some_test }

O aquí hay un atajo (gracias a @LarsHaugseth por recordárselo)

my_array.find(&:some_test)