La lista de armas
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 69 de 80.
Desafío
FácilRellena un inventario de armas tipado con addItem.
- Elimina las líneas debajo de
-- Try it. - Encima, crea
local weapons: {Item<{damage: number}>} = {}. - Usa
addItempara añadir"Iron Sword"con{damage = 25}y, después,"Fire Axe"con{damage = 40}. - Debajo de
-- Try it, imprime#weaponsyweapons[2].name.
Pulsa Ejecutar código: el resultado muestra 2 y Fire Axe.
Pruébalo tú mismo
-- La estructura de los objetos que comparten todos los inventarios
type Item<T> = {
id: number,
name: string,
data: T,
}
local sword: Item<{damage: number}> = {id = 1, name = "Iron Sword", data = {damage = 25}}
local potion: Item<{heal: number}> = {id = 2, name = "Health Potion", data = {heal = 40}}
-- Crea un objeto con el siguiente id disponible, guárdalo y devuélvelo
local function addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>
local item: Item<T> = {id = #inventory + 1, name = name, data = data}
table.insert(inventory, item)
return item
end
-- Pruébalo
print(addItem({}, "Old Map", "torn").id)
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 Luau4Trabajar con funciones
Tipado de parámetros y valores de retornoTipado de funciones anónimasFunciones que no devuelven nadaParámetros opcionalesValores predeterminados de parámetrosValores predeterminados para booleanosFunciones variádicasDefinir tipos de funcionesRepaso: funciones tipadas7Proyecto: Gestor de tareas tipado
Proyecto: La estructura de una tareaFunción para añadir una tarea10Proyecto: Inventario genérico
Proyecto: Elemento de inventarioFunción: Añadir elementos2Tipos fundamentales
Número, cadena y booleanoEl tipo 'any': una salida de emergenciaEl tipo 'unknown'Tipos nulos y opcionalesLa inferencia de tipos en acciónAnotaciones de tipo explícitasRepaso: práctica de tipos fundamentales5Alias, 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 mapas
Arrays tipadosAgregar y leer elementos¿Qué es un tipo mapa?Declarar y acceder a mapasRecorrer tablasTablas de formas mixtasLeer una cuadrículaConstruir una cuadrículatable.unpackRepaso: arrays y mapasPractica por tu cuenta: Compilador de Luau online