TheCodeNaked

Paralelismo - Episódio 15 (Copy)

Episódio 15 — Loop Principal e Execução Ciclada

No episódio anterior, conseguimos estruturar comandos com variáveis internas, entradas dinâmicas e respostas condicionais. Agora, chegou o momento de organizar isso tudo em uma estrutura de execução controlada, com repetição automática, controle de fim e fluxo iterativo.


⚡️ Por que isso importa?

A maioria das aplicações não é formada por uma única execução, mas por ciclos de trabalho que dependem de eventos, dados ou tempo. Ter um "loop de interpretação" nos permite:

  • Reagir a eventos em tempo real
  • Reprocessar condições
  • Aplicar novos filtros a dados que mudam
  • Manter um fluxo vivo e interativo

Em outras palavras: saímos do estático e entramos no dinâmico.


⚖️ Introduzindo a chave loop

Vamos definir um novo elemento no JSON:

{
  "acao": "loop",
  "nome": "principal",
  "max_iteracoes": 10,
  "passos": [
    { "acao": "definir", "variavel": "contador", "valor": 1 },
    { "acao": "mostrar", "mensagem": "Rodando iteração ${contador}" },
    { "acao": "definir", "variavel": "contador", "valor": "${contador} + 1" },
    { "acao": "condicional", "se": "${contador} > 10", "entao": [
      { "acao": "parar_loop" }
    ] }
  ]
}

Essa estrutura:

  • Cria um loop nomeado (principal)
  • Permite um máximo de 10 iterações
  • Executa os passos até que parar_loop seja acionado ou o limite seja atingido

⏳ Controle fino: parar_loopcontinuar_loop

Assim como em linguagens tradicionais temos break e continue, aqui teremos:

  • parar_loop: Interrompe o loop corrente
  • continuar_loop: Pula para a próxima iteração

Isso abre espaço para lógicas mais refinadas dentro do próprio JSON.


📆 Tempo de espera entre ciclos

Podemos incluir um tempo de espera entre as iterações, com um novo campo:

{
  "acao": "loop",
  "delay_ms": 500,
  "passos": [ ... ]
}

Assim, temos um mini-agendador interno, ideal para loops que monitoram recursos, sensores ou estados.


🚀 Pronto para o runtime!

Com esse recurso, podemos:

  • Criar loops monitorando status
  • Reagir a mudanças de variáveis
  • Controlar workflows com persistência

Nosso interpretador começa a ganhar vida própria.


✅ No próximo episódio:

Vamos explorar como:

  • Fazer o loop aguardar eventos externos (ex: resposta de API ou clique do usuário)
  • Criar um modo reativo
  • Integrar await com fluxo declarativo

O caminho está cada vez mais fluido. Agora temos controle e fluxo.

Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado