Menu
Coddy logo textTech

Zakres i bloki

Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 86 z 90.

W Lua możesz tworzyć nowe zakresy widoczności w dowolnym miejscu kodu za pomocą bloków do...end. Te bloki pozwalają dokładnie kontrolować, gdzie można uzyskać dostęp do zmiennych lokalnych, zapewniając precyzyjną kontrolę nad zakresem widoczności zmiennych.

Oto jak możesz utworzyć nowy zakres za pomocą bloku do...end:

local outerVar = "I'm outside"

do
    local innerVar = "I'm inside"
    print(outerVar)  -- To działa
    print(innerVar)  -- To też działa
end

print(outerVar)  -- To działa
print(innerVar)  -- To spowodowałoby błąd!

Potężną cechą zakresu jest to, że w różnych blokach możesz mieć zmienne lokalne o tej samej nazwie, a one pozostają całkowicie od siebie niezależne:

local name = "Alice"

do
    local name = "Bob"  -- Inna zmienna!
    print(name)  -- Wypisuje "Bob"
end

print(name)  -- Wypisuje "Alice"

Każdy blok do...end tworzy własne odizolowane środowisko dla zmiennych lokalnych. Zmienne zadeklarowane wewnątrz bloku nie mogą wydostać się do zakresu zewnętrznego, natomiast zmienne z zakresów zewnętrznych są dostępne wewnątrz bloków zagnieżdżonych.

challenge icon

Wyzwanie

Łatwy

Utwórz zagnieżdżone bloki do...end, aby pokazać, że zmienne lokalne o tej samej nazwie pozostają całkowicie oddzielne w różnych zakresach.

Najpierw utwórz zmienną lokalną o nazwie playerLevel z wartością 10 w zakresie zewnętrznym i ją wypisz.

Następnie utwórz blok do...end, a w nim:

  • Zadeklaruj nową zmienną lokalną o nazwie playerLevel z wartością 25
  • Wypisz tę wewnętrzną zmienną playerLevel

Po zakończeniu wewnętrznego bloku ponownie wypisz zewnętrzną zmienną playerLevel, aby pokazać, że pozostała niezmieniona.

To pokazuje, że zmienne lokalne o identycznych nazwach w różnych zakresach są całkowicie niezależne — zmienna wewnętrzna nie wpływa na zewnętrzną.

Spróbuj swoich sił

-- TODO: Napisz tutaj swój kod
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Lua online