Menu
CoddyTech

Dlaczego używać zmiennych lokalnych?

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

Zapobieganie konfliktom nazw: Najważniejszą zaletą zmiennych lokalnych jest to, że zapobiegają przypadkowemu nadpisywaniu innych zmiennych o tej samej nazwie. Gdy używasz zmiennych globalnych w całym programie, łatwo przypadkowo ponownie użyć nazwy zmiennej i zmienić wartość, której nie zamierzałeś modyfikować.

score = 100  -- wynik gracza

function countEnemies()
    score = 0  -- ma służyć jako licznik tylko w tej funkcji
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 3: wynik gracza został nadpisany!

Funkcja miała używać własnego licznika, ale ponieważ score jest zmienną globalną, zmieniła wynik gracza. Dodanie local daje funkcji oddzielną zmienną, która istnieje tylko w jej obrębie:

function countEnemies()
    local score = 0  -- nowa zmienna, dostępna tylko wewnątrz tej funkcji
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 100: globalna zmienna score pozostaje bez zmian

Dzięki zmiennym lokalnym każda funkcja i każdy blok mają własne, oddzielne zmienne, więc kod w jednym miejscu nie może przypadkowo zmienić wartości używanych gdzie indziej.

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

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