Luau é a linguagem de script que os criadores usam no Roblox Studio. É uma linguagem de script embutida rápida, pequena, segura e tipada gradualmente, derivada do Lua 5.1.
Suporte no Studio
O Editor de Script no Studio suporta Luau com autocompletar, realce de sintaxe, linting estático, verificação de tipos e análise de scripts. Ele também exibe documentação e assinaturas de funções para membros do Roblox Engine API.
Tipos
Luau inclui os seguintes tipos de dados:
- Nil representa não-existência ou nada. É diferente de qualquer outro valor ou tipo de dado.
- Números, ou double, representam números de ponto flutuante de dupla precisão (64 bits).
- Strings são sequências de caracteres, como letras, números e símbolos.
- Enums são listas fixas de itens.
Luau é tipado dinamicamente por padrão. Variáveis, parâmetros de função e valores de retorno podem ser de qualquer tipo de dado. Isso ajuda você a escrever o código mais rapidamente, pois não precisa fornecer tipos para cada peça de dado. Você ainda pode declarar tipos explícitos para variáveis em Luau e habilitar verificação de tipos rígida para tornar problemas de tipo óbvios e fáceis de localizar.
Estruturas de dados
Você também pode implementar as seguintes estruturas de dados usando tipos de dados primitivos:
- Pilhas são coleções de itens do tipo Último a Entrar é o Primeiro a Sair que você pode implementar usando tabelas.
- Filas são coleções de itens do tipo Primeiro a Entrar é o Primeiro a Sair que você pode implementar usando tabelas.
- Metatabelas são tabelas com configurações avançadas que podem alcançar funcionalidades como armazenar pares de chaves e valores e calcular operações aritméticas.
Recursos
Em Luau, variáveis e funções podem ter escopo global e local dentro de um script. Luau tem operadores lógicos, relacionais e de atribuição composta. Você pode usar estruturas de controle e funções para controlar quando Luau executa o código. Muitos operadores e atribuições de variáveis realizam coerção de tipos para mudar valores para os tipos que Luau espera.