Menu
Coddy logo textTech

Anotações de Formato Inline

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

Em Lua, você usa tabelas como registros há bastante tempo: local user = {name = "Ana", age = 20}. Nada impede que você escreva um campo incorretamente, esqueça um campo ou armazene 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 desse tipo 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 string arbitrárias. 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 com base nela enquanto você edita. Um campo ausente ou um tipo de valor incorreto é 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 number
}

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 pontuais que você não pretende reutilizar; na próxima lição, você dará um nome às estruturas.

challenge icon

Desafio

Fácil

Crie uma variável chamada student com uma anotação de formato inline declarando:

  • name do tipo string
  • studentId do tipo number
  • isEnrolled do tipo boolean

Inicialize-a com name "Sarah Johnson", studentId 12345 e isEnrolled true.

Crie uma segunda variável chamada course com uma anotação de formato inline declarando:

  • title do tipo string
  • credits do tipo number
  • instructor do tipo string

Inicialize-a com title "Introduction to Luau", credits 3 e instructor "Dr. Smith".

Imprima, cada um em sua própria linha:

  1. o nome do estudante
  2. o ID do estudante
  3. o título do curso
  4. o número de créditos

Experimente você mesmo

-- Escreva o código aqui
-- 1) declare student com uma anotação de shape inline
-- 2) declare course com uma anotação de shape inline
-- 3) imprima os quatro campos solicitados
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