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 mapa tipado se parece a los constructores de tablas que siempre has escrito: la anotación simplemente fija los tipos de clave y valor:
local stock: {[string]: number} = {apples = 12, bananas = 5}La lectura y la escritura usan la indexación que ya conoces. Para las claves que son identificadores válidos, stock.apples y stock["apples"] acceden a la misma entrada; la forma con corchetes también permite manejar claves con espacios o claves almacenadas 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 comprobador de tipos supervisa cada escritura: stock["apples"] = "many" se marca porque "many" no es un número, y usar un número como clave se marca porque las claves deben ser cadenas.
Para eliminar una entrada, asigna nil a su clave: stock["bananas"] = nil la elimina por completo, y las lecturas posteriores devuelven nil. No existe una función de eliminación independiente; este es el modismo estándar de Lua y también se comprueba el tipo correctamente en un mapa.
Desafío
FácilCrea un mapa tipado stock: {[string]: number} inicializado con apples = 12 y bananas = 5. Después:
- añade una nueva entrada
cherriescon el valor20 - actualiza
bananasa8
Finalmente, imprime, cada uno en su propia línea:
- las existencias de
apples - las existencias de
bananas - las existencias de
cherries - las existencias de
plums: una clave que nunca estableciste
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 MapsPractica por tu cuenta: Compilador de Lua online