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 armazenam muitos valores de um type; maps armazenam um type de chave e um type de valor. Mas suas tabelas Lua mais comuns misturam tipos sob named fields — um player com um nome string, um score number, uma flag boolean. O Luau tipa estes com uma shape: um type de tabela que lista each field e its own type.

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

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

A palavra-chave type cria um type alias — um nome reutilizável para a shape. Ele existe apenas para o verificador: nenhum valor em tempo de execução named Point é criado. Fields podem instance-wise each ter um type 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 shape declarada, o verificador sabe que player.score é um number e identifica erros cedo: um erro de digitação como player.scroe (nenhum field existente), ou atribuir player.score = "high" (type errado). Este é apenas o começo — um capítulo posterior se aprofundará muito mais em shapes, fields opcionais e métodos.

challenge icon

Desafio

Fácil

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

Crie local player: Player com o name "Rio", score 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. a flag active do jogador
  4. a linha exata Rio has 1500 points construída com interpolação de string 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) print 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