O que é Luau?
Parte da seção Introdução ao Luau do Journey de Lua da Coddy. Lição 1 de 80.
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 impulsiona milhões de experiências da Roblox e é de código aberto desde 2021.
A ideia principal é que Luau é um superconjunto de Lua 5.1. Qualquer código Lua 5.1 válido também é 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 acrescenta são 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 erros possam ser detectados antes mesmo de seu código ser executado:
-- Lua (também válido em Luau)
local playerName = "Rio"
-- Luau com uma anotação de tipo
local playerName: string = "Rio"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á em execução.
Desafio
FácilTransforme esta variável Lua em uma variável Luau tipada.
- Na linha
local message = "Hello World", adicione: stringlogo apósmessage. - Mantenha a linha
print(message)como está.
Pressione Executar código: a saída mostra Hello World.
Experimente você mesmo
-- Lua puro: message ainda não tem um tipo
local message = "Hello World"
print(message)
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
Tipagem de parâmetros e valores de retornoTipagem de funções anônimasFunções sem retornoParâmetros opcionaisValores padrão dos parâmetrosValores padrão para booleanosFunções variádicasDefinindo tipos de funçãoRecapitulação: funções tipadas2Tipos básicos
Número, string e booleanoO tipo 'any': válvula de escapeO tipo 'unknown'Tipos nulos e opcionaisInferência de tipos na práticaAnotações explícitas de tipoRevisão: prática com tipos básicos5Aliases, 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 MapsPercorrendo TabelasTabelas com Formatos MistosLendo uma GradeConstruindo uma Gradetable.unpackRevisão: Arrays e MapsPratique por conta própria: Compilador de Luau online