Menu
Coddy logo textTech

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.

challenge icon

Desafío

Fácil

Extiende 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 con id = #inventory + 1, lo inserte en inventory con table.insert y lo devuelva.
  • Crea un array tipado vacío weapons de tipo {Item<{damage: number}>}.
  • Usa addItem para añadir "Iron Sword" con {damage = 25}, guardando el resultado en sword.
  • Usa addItem para añadir "Fire Axe" con {damage = 40}, guardando el resultado en axe.

Después imprime, cada uno en su propia línea:

  1. #weapons
  2. sword.id
  3. sword.name
  4. axe.id
  5. weapons[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