Pętla nieskończona
Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 43 z 75.
W Rust można tworzyć nieskończone pętle za pomocą loop lub while true. Obie działają, dopóki nie zostaną jawnie zatrzymane za pomocą break albo przez zakończenie programu.
Na przykład:
loop {
// Kod wykonywany wielokrotnie
if condition {
break; // Wyjdź z pętli, jeśli warunek jest spełniony
}
}Pętla działa dalej, aż napotka break. Przydaje się w programach, które muszą działać nieprzerwanie, takich jak serwery lub urządzenia.
Oto przykład nieskończonej pętli, która wypisuje liczby, dopóki nie zostanie spełniony określony warunek:
let mut count = 0;
loop {
println!("Count: {}", count);
count += 1;
if count > 5 {
break;
// Wyjdź z pętli, gdy count jest większe niż 5
}
}W tym przykładzie pętla wypisze liczby od 0 do 5, a następnie zakończy działanie, gdy count osiągnie wartość 6.
Wyzwanie
PoczątkującyNapisz program w Rust, który symuluje prosty licznik. Program powinien używać nieskończonej pętli, aby stale zwiększać wartość licznika i ją wyświetlać. Pętla powinna zakończyć działanie, gdy licznik osiągnie określoną wartość podaną jako dane wejściowe.
Kroki programu:
- Zainicjuj zmienną mutowalną
counterwartością 0. - Użyj nieskończonej pętli (
loop), aby w każdej iteracji zwiększać wartośćcountero 1. - Wewnątrz pętli wyświetl bieżącą wartość
counter. - Sprawdź, czy
counterjest równe wartości kończącej podanej przez użytkownika. Jeśli tak, przerwij pętlę.
Spróbuj swoich sił
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let limit: i32 = input.trim().parse().unwrap();
let mut counter = 0;
// Napisz swój kod poniżej
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloSkrócone operacje arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Wyświetlanie w konsoliOdczytywanie danych od użytkownikaPowtórka – do 120Powtórka – prawda czy fałsz5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka — prosta logikaOperatory logiczne, część 311Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneWiele wartości zwracanychPowtórka – funkcja SigmaPowtórka – funkcja walidująca14Iterowanie po tablicach
Przewodnik po zakresachUlepszona pętla forPożyczanie w pętliTypowe operacje na tablicach3Zmienne – część 2
Deklarowanie typuKonwencje nazewnictwaWnioskowanie o typiePodsumowanie – inicjalizacja zmiennychRzutowanie typów9Pętle
Pętla for dla sekwencjiPętla whileInstrukcja breakInstrukcja continuePętle zagnieżdżoneEtykiety pętliPętla nieskończonaPodsumowanie — dynamiczne dane wejściowe12Podstawy tablic
Deklarowanie tablicTablica jako parametrDostęp do elementówModyfikowanie tablicPodsumowanie — czytelny wydruk tablicy15Operacje na ciągach znaków
Metody ciągów znakówMakro format!Konwersja ciągów znakówPowtórka — formatowaniePoćwicz samodzielnie: Kompilator Rust online