typestar

each y map en Ruby

Los dos iteradores con los que empieza todo programa Ruby.

words = %w[typing at the speed of thought]

words.each { |w| puts w }

lengths = words.map { |w| w.length }
puts lengths.inspect

# &:sym es la forma corta cuando el bloque solo llama a un método
puts words.map(&:upcase).inspect

puts words.each_with_index.map { |w, i| "#{i}: #{w}" }.inspect

Cómo funciona

  1. each visita cada elemento; el bloque hace el trabajo.
  2. map construye un arreglo nuevo con cada resultado del bloque.
  3. map(&:upcase) es el atajo cuando el bloque solo llama a un método.
  4. each_with_index empareja los elementos con sus posiciones.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
292
Tokens
67
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 47 segundos.

Escribe este fragmento

Paso 1 de 3 en Bloques e iteradores; paso 10 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →