Istnieją różne sposoby, aby kod działał w kółko. Jeśli chcesz, aby kod działał określoną liczbę razy, użyj pętli for. Ten artykuł omówi logikę stojącą za pętlami for i pokaże kilka praktycznych przykładów, takich jak kodowanie odliczania.
Jak działają pętle for
Pętle for używają trzech wartości do kontrolowania, ile razy będą działać: zmiennej kontrolnej, wartości końcowej oraz wartości przyrostu. Zaczynając od wartości zmiennej kontrolnej, pętle for będą albo liczyć w górę, albo w dół za każdym razem, gdy wykonają kod w obrębie pętli, aż przekroczą wartość końcową. Pozytywne wartości przyrostu liczą w górę, a ujemne wartości przyrostu liczą w dół.

Kroki w pętli for
Aby zrozumieć pętle for, pomocne jest zobaczenie diagramu przepływu pokazującego logikę ich przebiegu.
Najpierw pętla for porównuje zmienną kontrolną z wartością końcową.

Po uruchomieniu kodu do zmiennej kontrolnej dodawana jest wartość przyrostu. Następnie pętla sprawdza zmienną kontrolną i zaczyna od nowa.

Gdy zmienna kontrolna przekroczy wartość końcową, pętla się zatrzyma. Na przykład, jeśli pętla ma wartość końcową 10, to gdy zmienna kontrolna przekroczy 10, pętla for się zatrzyma.

Zrób odliczanie
Aby zobaczyć, jak działa pętla for, użyj tych kroków, aby napisać pętlę for, która zaczyna się od 10 i liczy w dół do 0, jedno čísło na raz. Za każdym razem, gdy pętla działa, wydrukuje bieżącą wartość w zmiennej kontrolnej.
W ServerScriptService utwórz nowy skrypt o nazwie PracticeLoop. W skrypcie zacznij od wpisania słowa kluczowego for.
forUtwórz zmienną kontrolną o nazwie count i ustaw wartość początkową na 10.
for count = 10Ustaw wartość końcową na 0, wpisując , 0. Upewnij się, że zawarłeś przecinek, aby oddzielić wartości.
for count = 10, 0Utwórz wartość przyrostu równą -1, wpisując , -1. Po zakończeniu działania pętli doda wartość przyrostu do zmiennej kontrolnej, count. Ponieważ przyrost jest ujemny, zostanie odjęty od zmiennej kontrolnej.
for count = 10, 0, -1Aby zakończyć pętlę for, wpisz do i naciśnij Enter, aby dodać end. Każdy kod wpisany pomiędzy do a end wykona się za każdym razem, gdy pętla będzie powtarzana.
for count = 10, 0, -1 doendWewnątrz pętli wykonaj odliczanie, drukując wartość zmiennej kontrolnej, count, a następnie opóźnij skrypt za pomocą funkcji wait.
for count = 10, 0, -1 do-- Drukuje bieżący numer, na którym jest pętla forprint(count)-- Czekaj 1 sekundętask.wait(1)endUruchom projekt i obserwuj okno Output, aby zobaczyć pętlę for.
Zauważ, że pętla wydrukuje bieżącą wartość count za każdym razem, gdy przechodzi przez iterację. Iteracja to pełny proces sprawdzania wartości kontrolnej, uruchamiania kodu i aktualizowania wartości przyrostu. Ponieważ zmienna kontrolna zaczyna się od 0 i musi przejść przez 10, pętla przejdzie przez 11 iteracji, zanim się zatrzyma.
Wskazówki dotyczące rozwiązywania problemów
W tym momencie, jeśli pętla nie działa zgodnie z zamierzeniami, spróbuj jednego z poniższych rozwiązań.
- Upewnij się, że masz dwa przecinki oddzielające liczby w pętli for. Dodatkowe lub brakujące przecinki uniemożliwią rozpoczęcie pętli.
- Jeśli pętla for drukuje wszystko naraz, upewnij się, że istnieje funkcja wait, która używa przynajmniej 1 sekundy.
Różne przykłady pętli for
Zmiana trzech wartości pętli for wpłynie na to, jak pętla funkcjonuje. Poniżej znajdują się różne przykłady pętli for z różnymi wartościami początkowymi, końcowymi i przyrostowymi. Spróbuj wprowadzić je do skryptów i zobacz, co się stanie.
Licz od 0 do 5
for count = 0, 5, 1 doprint(count)task.wait(1)end
Licz od 0 do 10 w liczbach parzystych
for count = 0, 10, 2 doprint(count)task.wait(1)end
Jeśli pętle for w ogóle się nie uruchamiają
Jeśli zmienna kontrolna zaczyna się poza wartością końcową, jak w poniższym przykładzie, pętla for nie uruchomi się wcale.
for count = 10, 0, 1 doprint(count)task.wait(1)end
W tym przypadku pętla for liczy w górę i sprawdza, czy count jest większy od 0. Kiedy pętla for wykonuje swoje pierwsze sprawdzenie, widzi, że 10 jest większe niż 0, więc zatrzymuje pętlę bez drukowania czegokolwiek.
Podsumowanie
Pętla for to powszechny typ pętli, który jest używany, gdy zestaw instrukcji powinien powtarzać się określoną liczbę razy. Aby utworzyć pętlę for, użyj trzech zmiennych z poniższą składnią:
for count = 0, 10, 1 doprint(count)end
W powyższym przykładzie pętla zacznie się od 0. Przy każdej pętli wydrukuje zmienną count, doda 1 do count, a na końcu zakończy pętlę, gdy count będzie równy 10.