O que é Luau?
Parte da seção Introdução ao Luau do Journey de Lua da Coddy. Lição 1 de 73.
Luau é uma linguagem de programação criada pela Roblox que se baseia no Lua que você já conhece, adicionando tipos estáticos graduais. Pense nela como Lua com uma camada extra de segurança e ferramentas. Ela alimenta milhões de experiências do Roblox e é de código aberto desde 2021.
A ideia principal é que Luau é um superconjunto do Lua 5.1. Qualquer código Lua 5.1 válido também é um código Luau válido: você pode pegar um script que escreveu nas seções anteriores e executá-lo como Luau, sem alterações.
O que Luau adiciona é o uso de anotações de tipo. Uma anotação declara que tipo de dado uma variável deve armazenar — uma string, um número, um booleano, uma tabela — para que os erros possam ser detectados antes mesmo de o código ser executado:
-- Lua (também válido em Luau)
local message = "Hello World"
-- Luau com uma anotação de tipo
local message: string = "Hello World"A palavra gradual é importante: as anotações são opcionais. Você pode tipar uma variável, uma função ou um arquivo inteiro: o código no estilo Lua sem tipos continua funcionando enquanto você adiciona tipos no seu próprio ritmo.
Em troca, você obtém ferramentas melhores no editor, código mais legível e proteção contra o tipo de bugs que o Lua puro só revela enquanto o programa está sendo executado.
Experimente você mesmo
Esta lição não inclui um desafio de código.
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
1Começando com o Luau
O que é Luau?Por que usar Luau?Seu primeiro código em LuauVerificação de tipos e modos de erroRecapitulando: Introdução ao Luau4Trabalhando com Funções
Tipando Parâmetros e Valores de RetornoTipando Funções AnônimasFunções que Não Retornam NadaParâmetros OpcionaisValores Padrão para ParâmetrosFunções VariádicasDefinindo Tipos de FunçõesRecapitulação: Funções Tipadas2Tipos Fundamentais
Tipos Básicos: num, str, boolO Tipo 'any': Escape HatchO Tipo 'unknown'Tipos Nil e OpcionaisInferência de Tipos na PráticaAnotações Explícitas de TiposReciclagem: Prática de Tipos Fundamentais5Aliases, Uniões, Interseções
Aliases de Tipos para PrimitivosTipos de UniãoTrabalhando com Tipos de UniãoTipos LiteraisTipos de InterseçãoCombinando Aliases de TiposRecapitulando: Combinações Avançadas de Tipos3Tabelas Tipadas: Arrays e Maps
Arrays TipadosAdicionando e Lendo ElementosO que é um Tipo Map?Declarando e Acessando MapsIterando Sobre TabelasTabelas de Formato MistoArrays Tipados Multidimensionaistable.unpack e VarargsRecapitulando: Arrays e MapsPratique por conta própria: Compilador de Lua online