Avatar ·

Cómo convertir Vec<String> a Vec<&str> en Rust?

¡Hola a todos! Empecé a aprender Rust y me encontré con un problema de conversión de tipos. Tengo un `Vec` y necesito pasarlo a una función que espera `Vec<&str>`. Intenté simplemente convertir los tipos, pero el compilador se queja. Aquí está mi código: ```rust fn process_strings(strings: Vec<&str>) { for s in strings { println!("{}", s); } } fn main() { let owned_strings: Vec = vec!["hello".to_string(), "world".to_string()]; // Intento pasar Vec a una función que espera Vec<&str> process_strings(owned_strings); // ¡Error! } ``` El compilador da un error de tipo: `expected Vec<&str>, found Vec`. Entiendo que `String` y `&str` son tipos diferentes, pero ¿cómo convierto un vector en el otro? Intenté usar `.iter().collect()`, pero obtengo `Vec<&String>`, no `Vec<&str>`. ¿Quizás se necesita borrowing o hay alguna forma idiomática en Rust? Por favor, indíquenme cómo hacerlo correctamente, preferiblemente con ejemplos.