Avatar ·

¿Cómo combinar correctamente dos vectores (Vec) en Rust? Las mejores formas de concatenación

¡Hola a todos! Acabo de empezar a aprender Rust y me encontré con la tarea de combinar dos vectores. Supongamos que tengo dos vectores de números: `vec1` y `vec2`. Necesito obtener un tercer vector que contenga todos los elementos del primero y luego todos del segundo. En Python simplemente escribiría `vec1 + vec2`, pero en Rust esto no funciona. Probé varias formas, pero no estoy seguro de cuál es la correcta y eficiente. Aquí está mi código: ```rust let mut vec1 = vec![1, 2, 3]; let vec2 = vec![4, 5, 6]; // Intento 1: suma simple (no compila) // let result = vec1 + vec2; // Intento 2: usando extend vec1.extend(vec2); println!("{:?}", vec1); // Obtuve [1, 2, 3, 4, 5, 6], pero vec1 cambió // Intento 3: usando un loop let mut result = Vec::new(); for item in &vec1 { result.push(*item); } for item in &vec2 { result.push(*item); } ``` Problemas: 1. `extend` toma ownership y modifica el vector original, lo que no siempre es conveniente. 2. El loop parece engorroso y probablemente no es óptimo.