Menu
CoddyTech

Tabelas de Formato Misto

Parte da seção Introdução ao Luau do Journey de Lua da Coddy. Lição 18 de 73.

Arrays contêm muitos valores de um único tipo; mapas contêm um tipo de chave e um tipo de valor. Mas suas tabelas Lua mais comuns misturam tipos em campos nomeados: um jogador com um nome string, uma pontuação numérica e um sinalizador booleano. O Luau tipa esses elementos com uma forma: um tipo de tabela que lista cada campo e seu próprio tipo.

type Point = {x: number, y: number}

local origin: Point = {x = 0, y = 0}
print(origin.x)

A palavra-chave type cria um alias de tipo: um nome reutilizável para a forma. Ele existe apenas para o verificador: nenhum valor de tempo de execução chamado Point é criado. Cada campo pode ter um tipo diferente:

type Player = {name: string, score: number, active: boolean}

local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)

Com a forma declarada, o verificador sabe que player.score é um número e sinaliza erros antecipadamente: um erro de digitação como player.scroe (nenhum campo com esse nome) ou a atribuição de player.score = "high" (tipo incorreto). Esta é a primeira introdução: um capítulo posterior aprofunda muito mais as formas, os campos opcionais e os métodos.

challenge icon

Desafio

Fácil

Defina um alias de tipo Player para uma estrutura com três campos: name: string, score: number e active: boolean.

Crie local player: Player com o nome "Rio", a pontuação 1500 e active definido como true.

Imprima, cada um em sua própria linha:

  1. o nome do jogador
  2. a pontuação do jogador
  3. o sinalizador de atividade do jogador
  4. a linha exata Rio has 1500 points construída com interpolação de strings a partir dos campos

Experimente você mesmo

-- Escreva o código aqui
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) crie player: Player = {name = "Rio", score = 1500, active = true}
-- 3) imprima name, score, active, depois a linha de resumo interpolada
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Compilador de Luau online