Función: Añadir elementos
Parte de la sección Introducción a Luau del Journey de Lua de Coddy — lección 64 de 73.
Desafío
FácilExtiende tu proyecto de la lección anterior (mantén el tipo Item<T>).
- Escribe una función genérica
addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>que cree un artículo conid = #inventory + 1, lo inserte eninventorycontable.inserty lo devuelva. - Crea un array tipado vacío
weaponsde tipo{Item<{damage: number}>}. - Usa
addItempara añadir"Iron Sword"con{damage = 25}, guardando el resultado ensword. - Usa
addItempara añadir"Fire Axe"con{damage = 40}, guardando el resultado enaxe.
Después imprime, cada uno en su propia línea:
#weaponssword.idsword.nameaxe.idweapons[2].data.damage
Pruébalo tú mismo
-- De la lección anterior
type Item<T> = {
id: number,
name: string,
data: T,
}
-- Escribe el código aquí
-- 1) addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>
-- 2) crea el array weapons, añade Iron Sword y Fire Axe
-- 3) imprime los cinco valores solicitados
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 Tipadas7Proyecto: Gestor de tareas tipado
Proyecto: La forma de la tareaFunción para añadir una tarea10Proyecto: Inventario genérico
Proyecto: Elemento de inventarioFunción: Añadir elementos2Tipos 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