Asignación múltiple en Ruby
Desempacar arreglos en variables: intercambios, splats y pares anidados.
first, second = [10, 20]
puts first + second
first, second = second, first
puts "#{first}, #{second}"
head, *rest = [1, 2, 3, 4]
puts head
puts rest.inspect
# los parámetros del bloque desestructuran los pares por sí solos
pairs = [["a", 1], ["b", 2]]
pairs.each { |letter, n| puts "#{letter}=#{n}" }
(low, high), label = [[1, 9], "range"]
puts "#{label}: #{low}-#{high}"
Cómo funciona
- La asignación paralela desempaca un arreglo; intercambiar no necesita temporal.
head, *restsepara una lista en su primer elemento y el resto.- Los parámetros de bloque desestructuran pares sin sintaxis extra.
- Los paréntesis alcanzan los arreglos anidados durante la asignación.
Palabras clave y builtins usados aquí
puts
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 375
- Tokens
- 123
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 92 segundos.
Paso 2 de 3 en Nil y modismos; paso 23 de 29 en Fundamentos del lenguaje.