Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Sintaxe Lua
  2. Declaração
  3. Comentário
  4. Bloco de declaração
  5. Identação
  6. Tipos de arquivos

Diferente da linguagem C, Lua não possui um função main presente também em linguagens da família C. Por seu uma linguagem de script, cada declaração de código escrita pode ser executada imediatamente.

Para demonstrar o que foi dito acima, vamos utilizar o famoso exemplo Olá Mundo usado no aprendizado de várias linguagens:

Exemplo 1
print("Olá Mundo!")
Saída
Olá Mundo!

Como visto no primeiro exemplo acima, as declarações de linha de código como expressões, chamada de funções e outras não precisam ser terminadas com (;), assim como Python e Go por exemplo.

Exemplo 3
print("Hello World!")

A função print é utilizada par saída de dados. Mais sobre o assunto pode ser visto em Entrada e Saída.

O uso de comentários na linguagem Lua é feita usando os caracteres "--" , "[[" e "]]" que definem comentários de linha ou bloco de linhas respectivamente.

Exemplo 4
-- comentário de uma linha
--[[
cometário em bloco
]]--
print("Hello World!")

Os comandos de decisão utilizando then e end e alguns os comandos de repetição utilizam do e end para definir seus blocos de código.

Os caracteres { e } são utilizandos em tipos de dados derivados matrizes/vetores e estrutura de dado tables para delimitar os blocos de declarações.

Exemplo 5
vetor = {1,2,3}

if ([[condicao]]) then
    --omitido
end

O comando if e outros comandos serão vistos com mais detalhes em Lua: Comandos.

Lua é bem flexível em relação à identação de declarações de código. Abaixo alguns exemplos de posssíveis identações de código para chamada de função e comando if.

Exemplo 6
--padrão
print ("Hello, World!")

--quebra de linha
print 
("Hello, World!")

--quebra de linha + tabulação
print 
      ("Hello, World!")

-- if padrão
if(true) then
  print ("Hello, World!")
end

--quebra de linha, print c/ quebra de linha + tabulação
if(true) 
then
  print 
        ("Hello, World!")
end

-- mesma linha
if(true) then print ("Hello, World!") end

Por padrão, scripts escritos em linguagem Lua utilizam seus arquivos terminados com extensão ".lua". Outras extensões utilizadas por frameworks ou outros não serão abordados.

Exemplo 7
main.lua
  1. 15/09/2025 - revisão 3 - Ajustes: pontuais, target de links internos e objetivos; Adição: identação
  2. 12/09/2024 - revisão 2 - pequenos ajustes em introdução, tipos de arquivos e comentários
  3. 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais
  4. 26/05/2023 - versão inicial