Avatar ·

Como obter um caractere de uma string por índice em Rust?

Acabei de começar a aprender Rust e me deparei com um problema que me parece muito estranho. Em outras linguagens, como Python ou JavaScript, posso facilmente obter um caractere de uma string por índice: `"hello"[0]` me dá `'h'`. Mas quando tentei fazer o mesmo em Rust, o compilador deu um erro. Aqui está meu código: ```rust fn main() { let s = String::from("Привет, мир!"); let first = s[0]; // Erro! println!("Primeiro caractere: {}", first); } ``` O compilador diz algo como: "the type `String` cannot be indexed by `{integer}`". Eu entendo que Rust é uma linguagem segura, mas por que não posso simplesmente pegar um caractere por índice? Afinal, em outras linguagens isso funciona! Como faço então para obter um caractere de uma string corretamente? O que estou fazendo de errado? Preciso processar cada caractere da string individualmente, por exemplo, para verificar se o primeiro caractere é uma letra ou um dígito. Diga-me como fazer isso em Rust. <<>>

Por que Rust não permite indexar strings diretamente?

Em R