aprendendo_lua

O controle de fluxo em Lua é similar a outras linguagens de programação e oferece diversas estruturas para controlar a execução do seu código. As principais estruturas de controle em Lua são:

Estruturas Condicionais:

Exemplo:

if x > 10 then
  print("x é maior que 10")
elseif x == 10 then
  print("x é igual a 10")
else
  print("x é menor que 10")
end

Laços de Repetição:

Exemplo:

for i = 1, 10 do
  print(i)
end

-- Imprime números de 1 a 10

while x < 10 do
  x = x + 1
end

-- Incrementa x enquanto for menor que 10

local tentativas = 0
repeat
  tentativas = tentativas + 1
until tentativas >= 3

-- O bloco do repeat executa ao menos uma vez,
-- mesmo que a condição já comece verdadeira;
-- aqui, executa 3 vezes (tentativas termina em 3).

Outras Estruturas:

O que conta como verdadeiro em uma condição:

Uma condição em Lua pode ser qualquer expressão, não apenas booleanos. A regra é simples:

if 0 then print("0 é verdadeiro em Lua") end    -- imprime!
if "" then print('"" também é verdadeiro') end  -- imprime!
if nil then print("nunca executa") end          -- não imprime
if false then print("nunca executa") end        -- não imprime

Veja o exemplo executável em valores_verdadeiros.lua.

Observações: