Menu
Coddy logo textTech

Arrays Tipados

Parte da seção Introdução ao Luau do Journey de Lua da Coddy — lição 13 de 73.

Typed arrays são um dos recursos mais úteis do Luau para organizar múltiplos valores mantendo a segurança de tipos.

Em Lua, um array é apenas uma tabela com valores nas posições 1, 2, 3, … — e ela aceitará tranquilamente um number, uma string e um boolean, todos de uma vez. O Luau permite declarar que uma tabela deve conter apenas elementos de um único tipo, usando a sintaxe {Type}:

local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}

Quando você declara um typed array, o verificador de tipos do Luau garante que apenas valores do tipo declarado entrem nele. Se você tentar inserir uma string em um array de {number}, receberá um tipo de erro (type error) enquanto edita — antes mesmo de o código ser executado:

local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ erro de tipo: string não é um number

Tudo o que você já sabe sobre tabelas em Lua ainda se aplica: arrays são 1-based (baseados em 1) (scores[1] é o primeiro elemento), #scores é o tamanho, e table.insert / table.remove funcionam como de costume. A anotação adiciona segurança, não um novo comportamento em tempo de execução.

challenge icon

Desafio

Fácil

Crie um array tipado chamado scores que só pode conter números, inicializado com 85, 92 e 78.

Crie um segundo array tipado chamado studentNames que só pode conter strings, inicializado com "Alice", "Bob" e "Charlie".

Em seguida, imprima, cada um em sua própria linha:

  1. o primeiro score
  2. quantos scores existem (use #)
  3. o segundo student name

Experimente você mesmo

-- Escreva o código aqui
-- 1) declare scores: {number} e studentNames: {string}
-- 2) imprima o primeiro score, a contagem de scores e o segundo nome
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