Avatar ·

Comment obtenir un caractère d'une chaîne par index en Rust ?

Je viens de commencer à apprendre Rust et j'ai rencontré un problème qui me semble très étrange. Dans d'autres langages, comme Python ou JavaScript, je peux facilement obtenir un caractère d'une chaîne par index : `"hello"[0]` me donne `'h'`. Mais quand j'ai essayé de faire la même chose en Rust, le compilateur a généré une erreur. Voici mon code : ```rust fn main() { let s = String::from("Привет, мир!"); let first = s[0]; // Erreur ! println!("Premier caractère : {}", first); } ``` Le compilateur dit quelque chose comme : "the type `String` cannot be indexed by `{integer}`". Je comprends que Rust est un langage sûr, mais pourquoi ne peut-on pas simplement prendre un caractère par index ? Pourtant, dans d'autres langages, ça marche ! Comment puis-je alors obtenir correctement un caractère d'une chaîne ? Qu'est-ce que je fais de mal ? J'ai besoin de traiter chaque caractère d'une chaîne individuellement, par exemple, pour vérifier si le premier caractère est une lettre ou un chiffre. Indiquez-moi comment faire cela en Rust. <<>>

Pourquoi Rust ne permet-il pas d'indexer les chaînes directement ?

En R