Menu
Coddy logo textTech

Função: Adicionar Itens

Parte da seção Introdução ao Luau do Journey de Lua da Coddy — lição 64 de 73.

challenge icon

Desafio

Fácil

Extenda seu projeto da lição anterior (mantenha o tipo Item<T>).

  • Escreva uma função genérica addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T> que cria um item com id = #inventory + 1, insere-o no inventory com table.insert e o retorna.
  • Crie uma array tipada vazia weapons do tipo {Item<{damage: number}>}.
  • Use addItem para adicionar "Iron Sword" com {damage = 25}, armazenando o resultado em sword.
  • Use addItem para adicionar "Fire Axe" com {damage = 40}, armazenando o resultado em axe.

Em seguida, imprima, cada um em sua própria linha:

  1. #weapons
  2. sword.id
  3. sword.name
  4. axe.id
  5. weapons[2].data.damage

Experimente você mesmo

-- Da lição anterior
type Item<T> = {
    id: number,
    name: string,
    data: T,
}

-- Escreva o código aqui
-- 1) addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>
-- 2) crie o array weapons, adicione Iron Sword e Fire Axe
-- 3) imprima os cinco valores solicitados

Todas as lições de Introdução ao Luau