Recapitulação: Definindo Formatos de Tabelas
Parte da seção Introdução ao Luau do Journey de Lua da Coddy — lição 44 de 73.
Desafio
MédioCrie um alias de tipo chamado Computer com:
iddo tiponumberbranddo tipostringramInGBdo tiponumber?(opcional)boot— um método(self: Computer) -> ()
Crie dois computadores (anexe boot com a sintaxe de definição usando dois-pontos):
workstation— id1001, brand"Dell", ramInGB16; seubootimprime[brand] is booting up...laptop— id1002, brand"MacBook", sem ramInGB; seubootimprime[brand] is starting...
Crie uma função specs que recebe um Computer e retorna uma string: [brand] with [ramInGB] GB of RAM quando a RAM for conhecida, caso contrário [brand] with unknown RAM.
Em seguida, na ordem:
- chame
workstation:boot() - chame
laptop:boot() - imprima
specs(workstation) - imprima
specs(laptop) - imprima o id de
workstation
Experimente você mesmo
-- Escreva o código aqui
-- 1) defina o tipo Computer (ramInGB opcional, método boot)
-- 2) crie workstation e laptop, anexe boot com sintaxe de dois pontos
-- 3) escreva specs com uma verificação de nil em ramInGB
-- 4) faça boot em ambos, imprima as specs de ambos, imprima workstation.id
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 Tipadas2Tipos 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 Maps6Tipando Formatos de Tabelas
Anotações de Formato InlineAliases de Tipo para FormatosPropriedades OpcionaisFormatos vs. Tabelas FlexíveisEstendendo FormatosAdicionando Métodos a FormatosSelf e Métodos com Dois PontosRecapitulação: Definindo Formatos de Tabelas