Modificación de Arrays
Parte de la sección Fundamentos del Journey de Rust de Coddy. Lección 58 de 75.
Además de acceder a los elementos de un array, también puedes modificarlos. Para modificar un elemento específico, primero necesitas mut para hacer que el array sea modificable, y después puedes asignarle un nuevo valor usando su índice.
Aquí tienes un ejemplo:
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Salida:
apple, orange, cherrybanana se cambió por una orange.
Desafío
FácilCrea un programa que reciba 3 entradas:
- La primera entrada es una cadena de valores separados por comas (por ejemplo,
1,2,3,4,5) de longitud 5. - La segunda entrada es un índice
- La tercera entrada es un elemento nuevo
El código inicial ya convierte la cadena separada por comas en un array mutable llamado arr. Puedes trabajar directamente con él sin escribir ningún código de conversión.
El programa imprimirá un array modificado al cambiar el elemento del índice almacenado en la segunda entrada por el valor de la tercera entrada.
Pruébalo tú mismo
use std::io;
use std::convert::TryInto;
fn main() {
let mut input_str_arr = String::new();
let mut input_index = String::new();
let mut new_element = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
io::stdin().read_line(&mut input_index).unwrap();
io::stdin().read_line(&mut new_element).unwrap();
let new_element = new_element.trim().to_string();
let index: usize = input_index.trim().parse().unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
// Escribe tu código debajo
// Usa arr, index y new_element para resolver el desafío
for i in 0..arr.len() {
print!("{} ", arr[i]);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámica12Fundamentos de Arrays
Declaración de ArraysArrays como parámetrosAcceso a elementosModificación de ArraysResumen - Pretty Print de ArraysPractica por tu cuenta: Compilador de Rust online