Menu
Coddy logo textTech

Leggere l'input dell'utente

Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 30 di 75.

Finora abbiamo creato programmi in cui scriviamo direttamente i valori nel codice. Ma i programmi reali spesso devono interagire con gli utenti e ottenere informazioni da loro.

In Rust, per acquisire input da un utente si usa la libreria std::io. Questa libreria fornisce metodi per leggere diversi tipi di input, come numeri interi, numeri in virgola mobile e stringhe.

Per usare la libreria std::io, devi prima importarla:

use std::io;

Per leggere l'input di un utente, ci servono due righe di codice:

let mut my_var = String::new();
// Crea una stringa vuota per memorizzare l'input

io::stdin().read_line(&mut my_var).unwrap();
 // Legge l'input

Questo memorizzerà il valore di input nella variabile my_var come stringa.

Se vuoi ottenere un numero, devi fare un passaggio in più per convertire l'input di testo in un numero:

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

.trim() è necessario perché quando gli utenti premono Invio, viene aggiunto un carattere di nuova riga al loro input. Per esempio, se qualcuno digita "25" e preme Invio, l'input effettivo è "25\n". .trim() rimuove questi caratteri di spaziatura extra (spazi, caratteri di nuova riga, ecc.) sia dall'inizio che dalla fine dell'input.

Per ora non preoccuparti troppo di unwrap(): impareremo a conoscerlo più avanti. Sappi solo che ci aiuta a gestire potenziali errori in modo semplice (anche se non ideale).

challenge icon

Sfida

Principiante

Scrivi un programma che riceva l'input dell'utente (il suo nome) e poi visualizzi Hello, seguito dal nome inserito dall'utente e da un punto esclamativo.

Ad esempio, se l'utente inserisce Bob, l'output previsto è Hello, Bob!.

Dovrai:

  1. Creare un oggetto String per leggere l'input.
  2. Chiedere all'utente di inserire il proprio nome: "Enter your name:"
  3. Leggere il nome dell'utente usando il metodo appropriato di std::io.
  4. Stampare Hello, seguito dal nome memorizzato e da un punto esclamativo ! alla fine.

Provalo tu

use std::io;

fn main() {
    // Crea un oggetto String
    let mut name = String::new();
    
    // Chiedi all'utente di inserire il proprio nome (usa println)
    
    
    // Leggi il nome dell'utente
    
    
    // Stampa il messaggio di saluto
    
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Rust online