Menu
Coddy logo textTech

Iterar tablas

Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 17 de 73.

Has recorrido tablas de Lua muchas veces: Luau mantiene exactamente los mismos bucles y añade tipos a las variables del bucle. Para los arreglos, ipairs recorre los elementos en orden, del índice 1 a #t, y puedes anotar ambas variables:

local temps: {number} = {18, 21, 19}
for day: number, temp: number in ipairs(temps) do
    print(`Day {day}: {temp}`)
end

Recuerda que ipairs se detiene en el primer índice faltante: un hueco nil en el medio termina el bucle antes de tiempo. Esto rara vez es un problema con arreglos bien mantenidos, pero conviene saberlo.

Para los mapas, usa pairs, que visita cada par clave/valor: también incluye las claves de cadena. En un mapa {[string]: number}, las variables del bucle son naturalmente una string y un number:

local ages: {[string]: number} = {Alice = 30, Bob = 25}
for name: string, age: number in pairs(ages) do
    print(`{name} is {age}`)
end

Una advertencia crucial: pairs visita las claves de la parte hash en un orden no garantizado. Puede variar entre ejecuciones. Cuando necesites una salida determinista (informes ordenados, pruebas), recopila las claves en un arreglo, aplica table.sort y después recorre las claves ordenadas con ipairs e indexa el mapa.

challenge icon

Desafío

Fácil

Crea un array tipado temps: {number} inicializado con 18, 21, 19 y 24.

Recórrelo con ipairs, anotando ambas variables del bucle (day: number, temp: number). Para cada elemento, imprime exactamente:

Day 1: 18

(usando interpolación de cadenas con comillas invertidas) y añade cada temperatura a un total acumulado.

Después del bucle, imprime el total en su propia línea.

Pruébalo tú mismo

-- Escribe código aquí
-- 1) declara temps: {number} = {18, 21, 19, 24}
-- 2) for day: number, temp: number in ipairs(temps) do ... end
--    imprimiendo `Day {day}: {temp}` y sumando en total
-- 3) imprime el total después del bucle
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Introducción a Luau

Practica por tu cuenta: Compilador de Lua online