freeCodeCamp/guide/spanish/rust/loops/index.md

60 lines
2.2 KiB
Markdown
Raw Normal View History

2018-10-12 19:37:13 +00:00
---
title: Loops
localeTitle: Bucles
---
# Bucles
Dentro de Rust hay tres tipos de mecanismos de bucle nativos: `loop` , `while` y `for` .
## Repetición infinita con `loop`
En Rust, la estructura de `loop` ejecutará continuamente un bloque de código ad infinitum (o hasta que le indique explícitamente que se detenga).
Aquí hay un programa de ejemplo que usa `loop` para imprimir la palabra 'otra vez' continuamente al terminal:
```rust
fn main() {
loop {
println!("again!");
}
}
```
## Bucle condicional con `while`
El mecanismo anterior no es muy útil a menos que introduzcamos algún tipo de condición de detención para que el `loop` verifique. Por suerte, Rust tiene una estructura de bucle incorporada llamada `while` , que puedes usar para ejecutar continuamente un bloque de código mientras que alguna condición es verdadera.
Aquí hay un programa de ejemplo que usa `while` para contar desde 5:
```rust
fn main() {
let mut number = 5;
while number != 0 {
println!("{}", number);
number = number - 1;
}
}
```
Ejecuta el código [aquí](https://play.rust-lang.org/?gist=62677371a8590be27c84dcae7068de57&version=stable) .
## Iterando a través de una colección con `for`
En algunos casos, es posible que desee iterar y operar en los elementos de una colección (como una matriz). Mientras que usted podría lograr esto usando un `while` de bucle y una variable índice para acceder a cada elemento, Rust ofrece el `for` bucle para hacer esta operación mucho más fácil.
Aquí hay un programa de ejemplo que imprime cada número en una matriz al terminal usando `for` :
```rust
fn main() {
let collection = [15, 7, 2, 6, 9];
for element in collection.iter() {
println!("the value is: {}", element);
}
}
```
Ejecuta el código [aquí](https://play.rust-lang.org/?gist=0c2acf21b96a81ebd411e4a7dc5a19fd&version=stable) .
Al igual que los iteradores en C ++, la función `.iter()` devuelve un iterador a la `collection` , que luego se puede recorrer para acceder a cada `element` . Para obtener más información, diríjase a la documentación de Rust sobre el [flujo de control](https://doc.rust-lang.org/book/second-edition/ch03-05-control-flow.html) .