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
| Forja | Rust 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 { ... } |