Bucles while let
Al igual que con if let, hay una variante while let que prueba repetidamente un valor con respecto a un patrón:
fn main() { let v = vec![10, 20, 30]; let mut iter = v.into_iter(); while let Some(x) = iter.next() { println!("x: {x}"); } }
Aquí, el iterador devuelto por v.into_iter() devolverá Option<i32> en cada llamada a next(). Devuelve Some(x) hasta que finaliza y, a continuación, devuelve None. while let nos permite seguir iterando a través de todos los elementos.
Consulta de nuevo la sección de coincidencia de patrones para obtener más información sobre los patrones de Rust.
- Señala que el bucle
while letseguirá funcionando siempre que el valor coincida con el patrón. - Puedes reescribir el bucle
while letcomo un ciclo infinito con una instrucción if que deje de funcionar siiter.next()no tienen ningún valor que desenvolver.while letproporciona azúcar sintáctico en la situación anterior.