Avatar ·

¿Cómo iterar sobre los caracteres de un string en Rust? Recorrer caracteres por índice

¡Hola a todos! Acabo de empezar a aprender Rust y me encontré con un problema al trabajar con strings. Necesito recorrer cada carácter de un string y realizar alguna acción sobre él. En otros lenguajes (como Python o C++) estoy acostumbrado a usar índices: `string[i]` en un bucle for. Pero en Rust esto no funciona. Aquí está mi código que no compila: ```rust fn main() { let text = String::from("Привет, мир!"); for i in 0..text.len() { println!("Carácter: {}", text[i]); // ¡Error! } } ``` El compilador da el error: `cannot index into a string of type String`. Entiendo que los strings en Rust no son simplemente arrays de caracteres, sino secuencias de bytes en UTF-8. Pero entonces, ¿cómo recorrer correctamente todos los caracteres? Necesito una solución que funcione correctamente con Unicode, incluyendo caracteres multibyte (por ejemplo, cirílico, emojis). También sería útil saber cómo obtener no solo el carácter, sino también su posición (índice) en el string. Por favor, indíquenme cómo hacerlo de manera correcta y eficiente.