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
selectconserva los elementos que coinciden;rejectlos descarta.detectse detiene en la primera coincidencia y la devuelve sola.partitiondivide un arreglo en la mitad que pasa y la que no.
Palabras clave y builtins usados aquí
puts
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.
Paso 2 de 3 en Bloques e iteradores; paso 11 de 29 en Fundamentos del lenguaje.