Menu
CoddyTech

Anotações de Formato Inline

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

Em Lua, você usa tabelas como registros há muito tempo: local user = {name = "Ana", age = 20}. Nada impede você de escrever um campo com erro, esquecer um campo ou armazenar uma string onde deveria haver um número. Você só descobre isso quando o código é executado.

Luau permite descrever a estrutura de uma tabela assim diretamente na declaração, listando cada campo e seu tipo entre chaves:

local user: {name: string, age: number} = {
    name = "Ana",
    age = 20,
}

Compare isso com os tipos de tabela que você já conhece: {number} descreve um array e {[string]: number} descreve um mapa com chaves de qualquer string. Uma estrutura é mais precisa. Ela nomeia cada campo individualmente e atribui a cada campo seu próprio tipo.

Depois que a estrutura é declarada, o verificador de tipos confere a tabela em relação a ela enquanto você edita. Um campo ausente ou um valor do tipo errado é sinalizado antes mesmo de o código ser executado:

local user: {name: string, age: number} = {
    name = "Ana",
    age = "twenty", -- ✗ erro de tipo: string não é um número
}

Como sempre, a anotação não adiciona nenhum comportamento em tempo de execução: a tabela é uma tabela Lua comum. Estruturas inline são perfeitas para estruturas únicas que você não pretende reutilizar; na próxima lição, você dará um nome às estruturas.

challenge icon

Desafio

Fácil

Descreva o registro de um estudante diretamente na declaração dele.

  1. Declare local student: {name: string, studentId: number} = {name = "Sarah Johnson", studentId = 12345}.
  2. Imprima student.name e depois student.studentId.

Pressione Executar código: a saída mostra Sarah Johnson e 12345.

Experimente você mesmo

-- 1) declare student com uma anotação de formato inline
-- 2) imprima seu nome e, em seguida, seu studentId

Todas as lições de Introdução ao Luau

Pratique por conta própria: Compilador de Luau online