Lire la saisie utilisateur
Fait partie de la section Fondamentaux du Journey Rust de Coddy. Leçon 30 sur 75.
Jusqu’à présent, nous avons créé des programmes dans lesquels nous écrivons directement les valeurs dans notre code. Mais les vrais programmes doivent souvent interagir avec les utilisateurs et obtenir des informations de leur part.
En Rust, la récupération de données saisies par un utilisateur se fait à l’aide de la bibliothèque std::io. Cette bibliothèque fournit des méthodes pour lire différents types de données saisies, tels que des entiers, des nombres à virgule flottante et des chaînes de caractères.
Pour utiliser la bibliothèque std::io, vous devez d’abord l’importer :
use std::io;Pour lire une entrée utilisateur, nous avons besoin de deux lignes de code :
let mut my_var = String::new();
// Crée une chaîne vide pour stocker l'entrée
io::stdin().read_line(&mut my_var).unwrap();
// Lit l'entréeCela stockera la valeur saisie dans la variable my_var en tant que type chaîne.
Si vous voulez obtenir un nombre, vous devez effectuer une étape supplémentaire pour convertir l’entrée textuelle en nombre :
let age: i32 = input.trim().parse().unwrap();.trim() est nécessaire car lorsque les utilisateurs appuient sur Entrée, un caractère de nouvelle ligne est ajouté à leur saisie. Par exemple, si quelqu’un tape "25" et appuie sur Entrée, la saisie réelle est "25\n". .trim() supprime ces caractères d’espacement supplémentaires (espaces, nouvelles lignes, etc.) au début et à la fin de la saisie.
Ne t’inquiète pas trop de unwrap() pour l’instant : nous l’étudierons plus tard. Sache simplement qu’il nous aide à gérer les erreurs potentielles d’une manière simple (bien que pas idéale).
Défi
DébutantÉcrivez un programme qui obtient une entrée de l’utilisateur (son nom), puis affiche Hello, suivi du nom saisi par l’utilisateur et d’un point d’exclamation.
Par exemple, si l’utilisateur saisit Bob, la sortie attendue est Hello, Bob!.
Vous devrez :
- Créer un objet
Stringpour lire l’entrée. - Inviter l’utilisateur à saisir son nom : "
Enter your name:" - Lire le nom de l’utilisateur à l’aide de la méthode
std::ioappropriée. - Afficher
Hello,suivi du nom stocké et d’un point d’exclamation!à la fin.
Essayez vous-même
use std::io;
fn main() {
// Créer un objet String
let mut name = String::new();
// Demander à l'utilisateur d'entrer son nom (utiliser println)
// Lire le nom de l'utilisateur
// Afficher le message de salutation
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Afficher dans la consoleLire la saisie utilisateurRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 33Variables - Partie 2
Déclaration de typeConventions de nommageInférence de typeRécapitulatif - Initialiser des variablesConversion de type9Boucles
Boucle For sur une sérieBoucle WhileBreakContinueBoucles imbriquéesÉtiquettes de boucleBoucle infinieRécapitulatif - Entrée dynamique12Bases des tableaux
Déclaration de tableauxTableau comme paramètreAccès aux élémentsModification de tableauxRécapitulatif - Affichage formaté d'un tableau15Opérations sur les chaînes
Méthodes de chaînesMacro format!Conversion de chaînesRécapitulatif - FormatEntraînez-vous par vous-même : Compilateur Rust en ligne