Avatar ·

¿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.