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'inputQuesto 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).
Sfida
PrincipianteScrivi 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:
- Creare un oggetto
Stringper leggere l'input. - Chiedere all'utente di inserire il proprio nome: "
Enter your name:" - Leggere il nome dell'utente usando il metodo appropriato di
std::io. - 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
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Input/output di base
Stampare sulla consoleLeggere l'input dell'utenteRiepilogo - Fino a 120Riepilogo - Vero o falso5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Ripasso - Logica sempliceOperatori logici Parte 311Funzioni
Dichiarare le funzioniParametri e argomentiValori restituitiValori restituiti multipliRiepilogo - funzione SigmaRiepilogo - funzione di validazione14Iterare sugli array
Guida ai rangeCiclo for avanzatoPrestito nel cicloOperazioni comuni sugli array3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneInferenza del tipoRipasso - Inizializzare le variabiliConversione di tipo9Cicli
Ciclo for su sequenzeCiclo whileBreakContinueCiclo annidatoEtichette dei cicliCiclo infinitoRiepilogo - Input dinamico12Fondamenti degli array
Dichiarare gli arrayArray come parametroAccedere agli elementiModificare gli arrayRiepilogo - Stampare un array in modo leggibile15Operazioni sulle stringhe
Metodi delle stringheMacro format!Conversione delle stringheRipasso - FormattazioneEsercitati da solo: Compilatore Rust online