¿Cómo convertir Vec<T> en un array [T; N] en Rust?
¡Hola a todos! Soy nuevo en Rust y me encontré con un problema al trabajar con vectores y arrays. Estoy escribiendo un pequeño parser donde necesito obtener un array fijo de 4 elementos a partir de un vector. Tengo un `Vec` que obtengo después de leer datos de un archivo, y quiero convertirlo en `[u8; 4]` para pasarlo a una función que espera un array de longitud fija.
Aquí está mi código:
```rust
fn process_data(data: [u8; 4]) {
println!("{:?}", data);
}
fn main() {
let vec: Vec = vec![10, 20, 30, 40];
// ¿Cómo convertir vec en [u8; 4]?
// process_data(vec); // no compila: expected array `[u8; 4]`, found struct `Vec`
}
```
Intenté usar `vec.as_slice()`, pero esto da `&[u8]`, no `[u8; 4]`. Traté de convertir con `vec.into_iter().collect()`, pero collect devuelve un Vec, no un array. Vi en la documentación que existe el método `try_into()`, pero no logré hacerlo funcionar. Indíquenme cómo convertir correcta y seguramente un Vec en un array fijo.
No answers yet.
Inicia sesión para dejar una respuesta