Definiowanie prostego domknięcia
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 60 z 66.
Skoro już wiesz, czym są domknięcia, nauczmy się definiować je i używać w kodzie. Najprostszym sposobem na utworzenie domknięcia jest przypisanie go do zmiennej, co pozwala wywołać je później.
Oto, jak zdefiniować podstawowe domknięcie, które nie przyjmuje żadnych parametrów:
let my_closure = || {
println!("Hello from the closure!");
};Zwróć uwagę na puste pionowe kreski || — oznaczają one, że domknięcie nie przyjmuje żadnych argumentów. Nawiasy klamrowe zawierają kod, który wykonuje się po wywołaniu domknięcia.
Aby wywołać domknięcie, używasz go tak samo jak funkcji, dodając nawiasy po nazwie zmiennej:
let my_closure = || {
println!("Hello from the closure!");
};
my_closure(); // To wywołuje domknięcie i wyświetla komunikatWyzwanie
ŁatwyOtrzymasz pojedyncze wejście zawierające wiadomość. Utwórz domknięcie, które nie przyjmuje żadnych parametrów i wypisuje tę wiadomość. Zapisz domknięcie w zmiennej, a następnie wywołaj je, aby wyświetlić wiadomość.
Wymagania:
- Wczytaj wiadomość wejściową i usuń białe znaki z jej początku i końca
- Utwórz domknięcie przy użyciu składni
||, które wypisuje wiadomość - Zapisz domknięcie w zmiennej
- Wywołaj domknięcie, aby je wykonać
Wejście:
- Pojedynczy wiersz zawierający wiadomość (np.
Welcome to Rust!)
Wyjście:
- Wiadomość wypisana przez domknięcie
Spróbuj swoich sił
use std::io;
fn main() {
// Wczytaj dane wejściowe
let mut message = String::new();
io::stdin().read_line(&mut message).expect("Failed to read line");
let message = message.trim();
// TODO: Utwórz domknięcie, które wypisuje wiadomość, i zapisz je w zmiennej
// TODO: Wywołaj domknięcie, aby wypisać wiadomość
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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ę Book7Obsługa błędów za pomocą „Result”
Czym jest „Result”?Używanie „match” z „Result”is_ok() i is_err()Skróty: unwrap i expectOperator znaku zapytania „?”Konwertowanie ciągów znaków na liczbyPodsumowanie — bezpieczna funkcja dzielenia10Domknięcia i funkcje anonimowe
Czym jest domknięcie?Definiowanie prostego domknięciaDomknięcia z parametramiPrzechwytywanie środowiskaPodsumowanie — proste domknięcie dodające2Wprowadzenie 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 kodPoćwicz samodzielnie: Kompilator Rust online