Podsumowanie — znajdowanie pierwszego słowa
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 58 z 66.
Wyzwanie
ŁatwyOtrzymasz pojedyncze dane wejściowe zawierające zdanie złożone z wielu słów oddzielonych spacjami. Znajdź i wypisz pierwsze słowo ze zdania, używając wycinania ciągu znaków.
Wymagania:
- Wczytaj zdanie i usuń białe znaki z jego początku i końca
- Znajdź pozycję pierwszej spacji w zdaniu
- Utwórz wycinek ciągu znaków od początku zdania do pierwszej spacji (ale bez niej)
- Wypisz pierwsze słowo
Podpowiedź: Możesz użyć metody .find(), aby znaleźć pierwszą spację. Wywołaj ją w ten sposób: sentence.find(' '), przekazując znak spacji jako argument. Ta metoda zwraca wartość Option, która zawiera indeks, jeśli znaleziono spację. Użyj .unwrap_or(sentence.len()), aby obsłużyć przypadki, w których może nie być spacji (pojedyncze słowo), ustawiając domyślnie pełną długość zdania.
Dane wejściowe:
- Zdanie złożone z jednego lub większej liczby słów oddzielonych spacjami (np.
Hello World from Rust)
Wynik:
- Pierwsze słowo ze zdania
Spróbuj swoich sił
use std::io::{self, BufRead};
fn main() {
// Odczytaj dane wejściowe
let stdin = io::stdin();
let sentence = stdin.lock().lines().next().unwrap().unwrap().trim().to_string();
// TODO: Napisz swój kod poniżej
// Znajdź pozycję pierwszej spacji
// Utwórz wycinek łańcucha znaków od początku do pierwszej spacji
// Zapisz pierwsze słowo w zmiennej
// Wypisz pierwsze słowo
// println!("{}", first_word);
}Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kod6Obsługa braku wartości za pomocą „Option”
Czym jest „Option”?Używanie „match” z „Option”is_some() i is_none()Rozpakowywanie „Option”Metoda expectPodawanie wartości domyślnej: unwrap_orPodsumowanie – znajdowanie elementu9Wycinki napisów i więcej
String a &strTworzenie wycinków napisówWycinki jako parametry funkcjiInne wycinkiPodsumowanie — znajdowanie pierwszego słowaPoćwicz samodzielnie: Kompilator Rust online