¿Cómo iterar sobre Vec<T> obteniendo el índice del elemento en Rust?
¡Hola a todos! Empecé a aprender Rust recientemente y tuve un problema al recorrer un vector con acceso al índice del elemento.
En otros lenguajes, como Python o JavaScript, estoy acostumbrado a escribir algo como `for i, value in enumerate(list)` o `for (let i = 0; i < arr.length; i++)`. En Rust sé que puedo usar simplemente `for value in vec`, pero entonces pierdo el índice.
Necesito imprimir todos los elementos del vector junto con su posición, por ejemplo:
```rust
let items = vec!["manzana", "banana", "cereza"];
// Quiero obtener: "0: manzana", "1: banana", "2: cereza"
```
Intenté hacerlo así:
```rust
for i in 0..items.len() {
println!("{}: {}", i, items[i]);
}
```
Esto funciona, pero he oído que acceder por índice mediante corchetes puede causar pánico si el índice está fuera de los límites. Aunque aquí controlo la longitud, no parece muy idiomático para Rust. Además, si el vector cambia durante la iteración, pueden surgir problemas.
¿Cómo puedo iterar de manera correcta y segura?