Declarar y acceder a Maps
Parte de la sección Introducción a Luau del Journey de Lua de Coddy — lección 16 de 73.
Declarar un map con tipos se parece a los constructores de tablas que siempre has escrito — la anotación solo fija los tipos de la clave (key) y del valor:
local stock: {[string]: number} = {apples = 12, bananas = 5}Leer y escribir utiliza la indexación que ya conoces. Para claves que son identificadores válidos, stock.apples y stock["apples"] acceden a la misma entrada; la forma de corchetes también maneja claves con espacios o aquellas guardadas en variables:
stock["cherries"] = 20 -- añade una nueva entrada
stock.bananas = 8 -- actualiza una existente
print(stock["apples"]) -- 12
print(stock["plums"]) -- nil — nunca establecidoEl verificador de tipos supervisa cada escritura: stock["apples"] = "many" se marca porque "many" no es un number, y usar un number como key se marca porque las claves deben ser cadenas (string).
Para eliminar una entrada, asigna nil a su key — stock["bananas"] = nil la elimina por completo (removes entirely), y las lecturas posteriores devuelven nil. No hay una función de eliminación independiente; este es el modismo estándar de Lua y sigue pasando la verificación de tipos en un map.
Desafío
FácilCrea un map typed stock: {[string]: number} inicializado con apples = 12 y bananas = 5. Después:
addun nuevoentrycherriescon el valor20updatebananasa8
Finalmente print, cada uno en su propia línea:
- el stock de
apples - el stock de
bananas - el stock de
cherries - el stock de
plums— unakeyqueneverestableciste
Pruébalo tú mismo
-- Escribe código aquí
-- 1) declara stock: {[string]: number} con apples = 12, bananas = 5
-- 2) añade cherries = 20, actualiza bananas a 8
-- 3) imprime apples, bananas, cherries, luego plums
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
1Primeros pasos con Luau
¿Qué es Luau?¿Por qué usar Luau?Tu primer código en LuauComprobación de tipos y modos de errorRecapitulacion: Introducción a Luau4Trabajando con Funciones
Tipado de Parámetros y Valores de RetornoTipado de Funciones AnónimasFunciones que no Retornan NadaParámetros OpcionalesValores por Defecto en ParámetrosFunciones VariádicasDefinición de Tipos de FuncionesRecapitulaciones: Funciones Tipadas2Tipos principales
Tipos básicos: num, str, boolEl tipo 'any': Vía de escapeEl tipo 'unknown'Tipos nulos y opcionalesInferencia de tipos en acciónAnotaciones explícitas de tiposResumen: Práctica de tipos principales5Alias, Uniones e Intersecciones
Alias de tipos para primitivosTipos de uniónTrabajando con tipos de uniónTipos literalesTipos de intersecciónCombinando alias de tiposResumen: Combinaciones avanzadas de tipos3Tablas tipadas: Arrays y Maps
Arrays tipadosAñadir y leer elementos¿Qué es un tipo Map?Declarar y acceder a MapsIterar tablasTablas de forma mixtaArrays tipados multidimensionalestable.unpack y VarargsRecapitulaciones: Arrays y Maps