Menu
Coddy logo textTech

Lire la saisie utilisateur

Fait partie de la section Fundamentals du Journey Rust de Coddy — leçon 30 sur 75.

Jusqu'à présent, nous avons créé des programmes dans lesquels nous écrivons directement des valeurs dans notre code. Mais les programmes réels ont souvent besoin d'interagir avec les utilisateurs et d'obtenir des informations de leur part.

En Rust, la récupération de la saisie d'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 saisie, 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 d'un 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ée

Ceci stockera la valeur d'entrée dans la variable my_var en tant que type chaîne de caractères.

Si vous voulez obtenir un nombre, vous avez besoin d'une étape supplémentaire pour convertir la saisie de texte en un nombre :

let age: i32 = input.trim().parse().unwrap();

Le .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". Le .trim() supprime ces caractères d'espacement supplémentaires (espaces, sauts de ligne, etc.) au début et à la fin de la saisie.

Ne vous inquiétez pas trop pour unwrap() pour l'instant - nous l'étudierons plus tard. Sachez simplement que cela nous aide à gérer les erreurs potentielles de manière simple (bien que non idéale).

challenge icon

Défi

Débutant

Écrivez un programme qui récupère une saisie 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 :

  1. Créer un objet String pour lire la saisie.
  2. Demander à l'utilisateur de saisir son nom : "Enter your name:"
  3. Lire le nom de l'utilisateur en utilisant la méthode std::io appropriée.
  4. Afficher Hello, suivi du nom stocké et d'un point d'exclamation ! à la fin.

Aide-mémoire

Pour obtenir une saisie utilisateur en Rust, importez la bibliothèque std::io :

use std::io;

Pour lire une chaîne de caractères saisie par un utilisateur :

let mut my_var = String::new();
io::stdin().read_line(&mut my_var).unwrap();

Pour convertir une saisie de type chaîne en un nombre :

let age: i32 = input.trim().parse().unwrap();

La méthode .trim() supprime les caractères d'espacement (y compris les sauts de ligne après avoir appuyé sur Entrée) de la saisie.

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
    
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals