5. Repetir
cycle para contar e percorrer, persist para repetir enquanto for verdade.
Repetir é a razão de existir do computador: ele faz a mesma coisa mil vezes sem cansar e sem errar. Há duas formas, e a escolha é a pergunta que você está fazendo.
| Pergunta | Use |
|---|---|
| “faça isto para cada número de 1 a 10” | cycle i from 1 to 10 |
| “faça isto para cada item da lista” | cycle item in lista |
| “faça isto enquanto for verdade” | persist condicao |
dataforge
// A tabuada do 7 — 'from ... to' inclui as DUAS pontas.
cycle i from 1 to 10:
out $"7 x {i} = {7 * i}"
// Somar uma lista, item por item.
total := 0
cycle preco in [10, 25, 7]:
total += preco
assert total is 42
// Dobrar ate passar de 1000.
n := 1
passos := 0
persist n smaller 1000:
n := n * 2
passos += 1
out $"{passos} dobras: {n}"
assert n is 1024Parar antes, ou pular#
dataforge
// 'halt' sai do laco; 'skip' pula para a proxima volta.
primeiro_par := void
cycle n in [7, 3, 8, 5, 10]:
given n % 2 isnt 0:
skip
primeiro_par := n
halt
assert primeiro_par is 8Próximo: 6. Listas e vaults.