Menu
Coddy logo textTech

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 Lua online