Bucle infinito
Parte de la sección Fundamentals del Journey de Rust de Coddy — lección 43 de 75.
En Rust, se pueden crear bucles infinitos utilizando ya sea loop o while true. Ambos se ejecutan hasta que se detienen explícitamente con break o la terminación del programa.
Por ejemplo:
loop {
// Código a ejecutar repetidamente
if condition {
break; // Salir del bucle si se cumple la condición
}
}El bucle continúa hasta que llega a un break. Es útil para programas que necesitan ejecutarse continuamente, como servidores o dispositivos.
Aquí tienes un ejemplo de un bucle infinito que imprime números hasta que se cumple una condición específica:
let mut count = 0;
loop {
println!("Count: {}", count);
count += 1;
if count > 5 {
break;
// Salir del bucle cuando count sea mayor que 5
}
}En este ejemplo, el bucle imprimirá números del 0 al 5 y luego saldrá cuando count sea 6.
Desafío
PrincipianteEscribe un programa en Rust que simule un contador simple. El programa debe usar un bucle infinito para incrementar continuamente un contador e imprimir su valor. El bucle debe terminar cuando el contador alcance un valor específico determinado por la entrada.
Pasos para el programa:
- Inicializa una variable mutable
countera 0. - Usa un bucle infinito (
loop) para incrementar continuamente elcounteren 1 en cada iteración. - Dentro del bucle, imprime el valor actual de
counter. - Comprueba si
counteres igual al valor de terminación proporcionado por el usuario. Si lo es, sal del bucle.
Hoja de referencia
Los bucles infinitos en Rust se pueden crear usando loop o while true. Se ejecutan hasta que se detienen explícitamente con break.
Sintaxis básica de un bucle infinito:
loop {
// Código a ejecutar repetidamente
if condition {
break; // Salir del bucle si se cumple la condición
}
}Ejemplo con un contador:
let mut count = 0;
loop {
println!("Count: {}", count);
count += 1;
if count > 5 {
break;
}
}Pruébalo tú mismo
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let limit: i32 = input.trim().parse().unwrap();
let mut counter = 0;
// Escribe tu código a continuación
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores Parte 1
Operadores aritméticosOperador de móduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámica