🚀 Controle de Fluxo
Pule diretamente para outras partes do código usando rótulos!
🚀O que é controle de fluxo?
Às vezes você quer pular diretamente para outra parte do código,
sem usar condicionais ou loops. Para isso, usamos rótulos e o comando execute.
Rótulos (Marcadores)
Rótulos são como placas sinalizadoras no seu código:
::nome_do_rotulo::
-- Qualquer código aqui...
Rótulos ficam entre dois pares de dois-pontos
::nome::
execute (goto)
O comando execute pula para um rótulo:
exiba("Início")
execute fim
exiba("Isso nunca aparece") -- Pulado!
::fim::
exiba("Fim")
Resultado:
Início Fim
Exemplo: Loop com execute
Você pode criar loops usando rótulos:
local contador = 0
::loop::
contador = contador + 1
exiba(contador)
se contador < 5 então
execute loop
fim
exiba("Fim!")
Resultado: 1, 2, 3, 4, 5, Fim!
Exemplo: Menu interativo
::menu::
exiba("===== MENU =====")
exiba("1. Jogar")
exiba("2. Opções")
exiba("3. Sair")
local escolha = 2 -- Simulando entrada
se escolha == 1 então
exiba("Iniciando jogo...")
execute menu
fim
se escolha == 2 então
exiba("Abrindo opções...")
execute menu
fim
se escolha == 3 então
exiba("Tchau!")
fim
Exemplo: Pular código de erro
local sucesso = falso
se não sucesso então
exiba("Algo deu errado!")
execute limpar
fim
exiba("Processamento normal...")
::limpar::
exiba("Limpando recursos...")
Use
execute com moderação! Muitos desvios deixam o código difícil de entender.
Prefira loops (para) quando possível.
Quando usar execute?
- ✅ Sair de loops aninhados profundos
- ✅ Pular para código de limpeza/encerramento
- ✅ Máquinas de estado simples
- ❌ Substituir loops normais
- ❌ Substituir funções
Rótulos e execute são Úteis em casos específicos, mas use com cuidado!