Bucles

Forja tiene 3 tipos de bucles para cubrir diferentes necesidades de iteración. Cada uno tiene su caso de uso ideal.

mientras — While

Ejecuta un bloque mientras la condición sea verdadera. Ideal cuando no sabés exactamente cuántas veces vas a iterar:

🔄 Cuenta regresiva
variable contador = 0
mientras (contador < 5) {
    escribir("Contador: " + contador)
    contador = contador + 1
}
// → Contador: 0, 1, 2, 3, 4

para — For estilo C

Ideal cuando sabés exactamente cuántas veces iterar. Sigue la estructura clásica de inicialización, condición e incremento:

📋 Sintaxis
para (inicialización; condición; incremento) {
    // cuerpo del bucle
}
🔢 Ejemplo
para (variable i = 0; i < 3; i = i + 1) {
    escribir("i = " + i)
}
// → i = 0, i = 1, i = 2
⚡ Optimización: El patrón i = 0; i < N; i = i + 1 se optimiza a for i in 0..N en el código Rust generado. ¡Más eficiente y elegante!

repetir — Repetición fija

Ejecuta un bloque una cantidad fija de veces, sin necesidad de contador manual. Es el más simple de todos:

🔁 Sin contador visible
repetir (4) {
    escribir("Esto se repite 4 veces")
}
// → Esto se repite 4 veces (x4)

Equivalencia con Rust

ForjaRust generado
mientras (c) { ... }while c { ... }
para (i=0; i<N; i=i+1)for i in 0..N (optimizado)
para (genérico)while con variable temporal
repetir (N) { ... }for _ in 0..N { ... }