typestar

select y detect en Ruby

Filtrar una colección hasta quedarte con los elementos que sí quieres.

nums = (1..20).to_a

evens = nums.select { |n| n.even? }
puts evens.inspect

odds = nums.reject(&:even?)
puts odds.first(5).inspect

# detect devuelve la primera coincidencia, no todas
first_big = nums.detect { |n| n * n > 50 }
puts first_big

puts nums.partition { |n| n % 3 == 0 }.inspect

Cómo funciona

  1. select conserva los elementos que coinciden; reject los descarta.
  2. detect se detiene en la primera coincidencia y la devuelve sola.
  3. partition divide un arreglo en la mitad que pasa y la que no.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
290
Tokens
78
Ritmo de tres estrellas
80 tpm

Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 58 segundos.

Escribe este fragmento

Paso 2 de 3 en Bloques e iteradores; paso 11 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →