Função: Adicionar Itens
Parte da seção Introdução ao Luau do Journey de Lua da Coddy — lição 64 de 73.
Desafio
FácilExtenda 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 comid = #inventory + 1, insere-o noinventorycomtable.inserte o retorna. - Crie uma array tipada vazia
weaponsdo tipo{Item<{damage: number}>}. - Use
addItempara adicionar"Iron Sword"com{damage = 25}, armazenando o resultado emsword. - Use
addItempara adicionar"Fire Axe"com{damage = 40}, armazenando o resultado emaxe.
Em seguida, imprima, cada um em sua própria linha:
#weaponssword.idsword.nameaxe.idweapons[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
1Começando com o Luau
O que é Luau?Por que usar Luau?Seu primeiro código em LuauVerificação de tipos e modos de erroRecapitulando: Introdução ao Luau4Trabalhando com Funções
Tipando Parâmetros e Valores de RetornoTipando Funções AnônimasFunções que Não Retornam NadaParâmetros OpcionaisValores Padrão para ParâmetrosFunções VariádicasDefinindo Tipos de FunçõesRecapitulação: Funções Tipadas7Projeto: Gerenciador de Tarefas Tipado
Projeto: O Formato da TarefaFunção para Adicionar uma Tarefa10Projeto: Inventário Genérico
Projeto: Item do InventárioFunção: Adicionar Itens2Tipos Fundamentais
Tipos Básicos: num, str, boolO Tipo 'any': Escape HatchO Tipo 'unknown'Tipos Nil e OpcionaisInferência de Tipos na PráticaAnotações Explícitas de TiposReciclagem: Prática de Tipos Fundamentais5Aliases, Uniões, Interseções
Aliases de Tipos para PrimitivosTipos de UniãoTrabalhando com Tipos de UniãoTipos LiteraisTipos de InterseçãoCombinando Aliases de TiposRecapitulando: Combinações Avançadas de Tipos3Tabelas Tipadas: Arrays e Maps
Arrays TipadosAdicionando e Lendo ElementosO que é um Tipo Map?Declarando e Acessando MapsIterando Sobre TabelasTabelas de Formato MistoArrays Tipados Multidimensionaistable.unpack e VarargsRecapitulando: Arrays e Maps