0Pricing
Zig Academy · Lekcja

break, continue i pętle etykietowane

Precyzyjnie steruj pętlami za pomocą etykiet.

break, continue i pętle etykietowane to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Zig Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Zig Academy zawiera 4 lekcji w sumie.

Dwa sposoby sterowania pętlą

Wewnątrz dowolnej pętli break całkowicie ją opuszcza, a continue przechodzi do następnej iteracji. Zapewniają one precyzyjną kontrolę nad przepływem. 🎛️

break natychmiast opuszcza pętlę

Gdy wykonywane jest break, pętla natychmiast się zatrzymuje, a wykonanie jest wznawiane w wierszu znajdującym się bezpośrednio za pętlą. Nic więcej w jej ciele nie zostaje wykonane.

for (items) |x| {
    if (x == 0) break;
    use(x);
}

continue przechodzi dalej

continue pomija resztę bieżącego przebiegu i przechodzi do następnej iteracji, pozostawiając samą pętlę aktywną.

for (items) |x| {
    if (x < 0) continue;
    total += x;
}

Dotyczą pętli najbardziej wewnętrznej

Domyślnie break i continue wpływają tylko na najbardziej wewnętrzną otaczającą je pętlę. Zewnętrzna pętla działa dalej, jak gdyby nic się nie wydarzyło.

Nadawanie pętli nazwy

Można dołączyć do pętli etykietę w postaci nazwy i dwukropka. Etykieta umożliwia odwołanie się do tej pętli z głębiej zagnieżdżonego kodu.

outer: for (rows) |row| {
    for (row) |cell| {
        check(cell);
    }
}

break do etykiety

Zapisz break :outer, aby bezpośrednio opuścić nazwaną zewnętrzną pętlę z poziomu pętli zagnieżdżonej. Jedna instrukcja rozwija oba poziomy.

outer: for (rows) |row| {
    for (row) |cell| {
        if (cell == target) break :outer;
    }
}

continue do etykiety

Użyj continue :outer, aby przejść do następnej iteracji oznaczonej etykietą zewnętrznej pętli i natychmiast pominąć resztę pętli wewnętrznej.

Etykiety zastępują flagi

Przed wprowadzeniem etykiet można było ustawić flagę found i sprawdzać ją po każdej pętli. break z etykietą usuwa ten kod pomocniczy i jest czytelniejszy.

break z etykietą zwraca wartość

Pętla z etykietą może również być wyrażeniem. break :outer value przekazuje tę wartość jako wynik całej pętli z etykietą.

const hit = outer: for (rows) |row| {
    for (row) |c| {
        if (c == target) break :outer c;
    }
} else 0;

Etykiety dotyczą także bloków

Etykiety nie służą tylko do pętli. Zwykły blok również może mieć etykietę, a break z wartością zmienia ten blok w wyrażenie.

const x = blk: {
    const t = compute();
    break :blk t * 2;
};

Unikaj głębokiego zagnieżdżania

Sterowanie za pomocą etykiet jest potężne, ale głęboko zagnieżdżone pętle pogarszają czytelność. Sięgaj po etykiety wtedy, gdy wyjaśniają kod, a nie po to, by usprawiedliwiać jego splątanie.

Szybkie sprawdzenie

Z wewnętrznej pętli chcesz wyjść z zewnętrznej pętli o nazwie outer. Która instrukcja to zrobi?

Podsumowanie

Opanowano break i continue: domyślnie dotyczą najbardziej wewnętrznej pętli, etykietowane pętle służą do zagnieżdżania, etykietowane instrukcje break mogą zwracać wartość, a etykiet można też używać z blokami. 🎯

Często zadawane pytania

Czy lekcja „break, continue i pętle etykietowane” jest bezpłatna?

Tak — pełny tekst „break, continue i pętle etykietowane” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Zig Academy, przejdź na CoddyKit PRO. Kurs Zig Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „break, continue i pętle etykietowane”?

Precyzyjnie steruj pętlami za pomocą etykiet. Ćwiczysz Zig Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Zig Academy?

Nie wymagamy żadnego doświadczenia. Zig Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „break, continue i pętle etykietowane”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Zig Academy?

Tak. Każda lekcja Zig Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. if jako instrukcja i wyrażenie
  2. Pętle while i wyrażenia continue
  3. Pętle for po zakresach i elementach
  4. break, continue i pętle etykietowane
← Powrót do Zig Academy