Riepilogo - Trovare la prima parola
Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 58 di 66.
Sfida
FacileRiceverai un singolo input contenente una frase con più parole separate da spazi. Trova e stampa la prima parola della frase usando lo slicing delle stringhe.
Requisiti:
- Leggi la frase di input e rimuovi gli spazi bianchi iniziali e finali
- Trova la posizione del primo spazio nella frase
- Crea una slice di stringa dall'inizio della frase fino al primo spazio (escluso)
- Stampa la prima parola
Suggerimento: Puoi usare il metodo .find() per individuare il primo carattere spazio. Chiamalo così: sentence.find(' '), passando un carattere spazio come argomento. Questo metodo restituisce un Option che contiene l'indice se viene trovato uno spazio. Usa .unwrap_or(sentence.len()) per gestire i casi in cui potrebbe non esserci uno spazio (una sola parola), usando come valore predefinito la lunghezza completa della frase.
Input:
- Una frase con una o più parole separate da spazi (ad es.,
Hello World from Rust)
Output:
- La prima parola della frase
Provalo tu
use std::io::{self, BufRead};
fn main() {
// Leggi l'input
let stdin = io::stdin();
let sentence = stdin.lock().lines().next().unwrap().unwrap().trim().to_string();
// TODO: Scrivi il tuo codice qui sotto
// Trova la posizione del primo spazio
// Crea una porzione di stringa dall'inizio fino al primo spazio
// Memorizza la prima parola in una variabile
// Stampa la prima parola
// println!("{}", first_word);
}Tutte le lezioni di Logica e flusso
1Flusso di controllo avanzato
L'espressione 'match'Corrispondenza di più valoriCorrispondenza di intervalliL'espressione 'if let'Cicli come espressioniRipasso - Parser di comandi semplice4Raggruppare i dati con le struct
Che cos'è una struct?Panoramica sulle structAccedere ai campi delle structStruct mutabiliStruct come parametri di funzioneStruct tuplaRiepilogo - Creare una struct Book2Introduzione ai vettori
Che cos'è un vettore?Creare un vettoreAggiungere elementi con pushAccedere agli elementi di un vettoreIterare su un vettoreIterazione mutabileRimuovere elementiRiepilogo - Tracker dei punteggi di base5Coppie chiave-valore con mappe hash
Che cos'è una mappa hash?Creare una mappa hashInserire coppie chiave-valoreAccedere ai valoriScorrere una mappa hashAggiornare un valoreRimuovere una coppiaRiepilogo - Contatore di parole8Progetto: inventario semplice degli articoli
Configurazione del progettoAggiungere un articoloControllare le scorteVendere un articoloMettere tutto insieme3Lista di attività da riga di comando
Configurazione del progettoAggiungere un'attivitàVisualizzare tutte le attivitàRimuovere un'attivitàCodice finale6Gestire l'assenza con 'Option'
Che cos'è un 'Option'?Usare 'match' con 'Option'is_some() e is_none()Estrarre il valore da un 'Option'Il metodo expectFornire un valore predefinito: unwrap_orRiepilogo - Trovare un elemento9Slice di stringhe e altro
String vs. &strCreare slice di stringheSlice come parametri di funzioneAltre sliceRiepilogo - Trovare la prima parolaEsercitati da solo: Compilatore Rust online