Expresiones loop
Por último, la palabra clave loop
crea un bucle infinito.
Para detener el bucle, debes usar break
o return
:
fn main() { let mut x = 10; loop { x = if x % 2 == 0 { x / 2 } else { 3 * x + 1 }; if x == 1 { break; } } println!("Final x: {x}"); }
- Interrumpe
loop
con un valor (por ejemplo,break 8
) e imprímelo. - Ten en cuenta que
loop
es la única construcción de bucle que devuelve un valor no trivial. Esto se debe a que es inevitable que se introduzca al menos una vez (a diferencia de los bucleswhile
yfor
).