Projeto: Item do Inventário
Parte da seção Introdução ao Luau do Journey de Lua da Coddy — lição 63 de 73.
Desafio
FácilInicie o projeto de inventário definindo seu tipo principal e dois itens.
- Declare um alias de tipo genérico
Item<T>com os camposid: number,name: stringedata: T. - Crie
sworddo tipoItem<{damage: number}>comid = 1,name = "Iron Sword"edata = {damage = 25}. - Crie
potiondo tipoItem<{heal: number}>comid = 2,name = "Health Potion"edata = {heal = 40}.
Em seguida, imprima, cada um em sua própria linha:
sword.idsword.namesword.data.damagepotion.idpotion.namepotion.data.heal
Experimente você mesmo
-- Escreva o código aqui
-- 1) declare o tipo genérico Item<T> com id, name e data
-- 2) crie sword (Item<{damage: number}>) e potion (Item<{heal: number}>)
-- 3) imprima os seis campos solicitados, um por linha
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