Recapitulação: Definindo Formatos de Tabelas
Parte da seção Introdução ao Luau do Journey de Lua da Coddy. Lição 46 de 80.
Desafio
MédioDescreva dois computadores, um com RAM desconhecida.
- Escreva
type Computer = {id: number, brand: string, ramInGB: number?}e anoteworkstationelaptopcomoComputer. - Escreva
local function specs(computer: Computer): string, que retorna`{computer.brand} with {computer.ramInGB} GB of RAM`quando a quantidade de RAM for conhecida; caso contrário, retorna`{computer.brand} with unknown RAM`. - Imprima
specs(workstation)especs(laptop).
Pressione Executar código: a saída mostra Dell with 16 GB of RAM e MacBook with unknown RAM.
Experimente você mesmo
-- 1) type Computer = {...}
local workstation = {id = 1001, brand = "Dell", ramInGB = 16}
local laptop = {id = 1002, brand = "MacBook"}
-- 2) specs(computer: Computer): string
-- 3) imprima as especificações de ambos
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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
Tipagem de parâmetros e valores de retornoTipagem de funções anônimasFunções sem retornoParâmetros opcionaisValores padrão dos parâmetrosValores padrão para booleanosFunções variádicasDefinindo tipos de funçãoRecapitulação: funções tipadas2Tipos básicos
Número, string e booleanoO tipo 'any': válvula de escapeO tipo 'unknown'Tipos nulos e opcionaisInferência de tipos na práticaAnotações explícitas de tipoRevisão: prática com tipos básicos5Aliases, 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 MapsPercorrendo TabelasTabelas com Formatos MistosLendo uma GradeConstruindo uma Gradetable.unpackRevisão: 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 TabelasPratique por conta própria: Compilador de Luau online