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 zmianDzię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.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory 2: relacyjne i logiczne
Operatory równościOperatory relacyjneOperator „and”Operator „or”Operator „not”Ewaluacja z krótkim spięciemWartości prawdziwe i fałszywePodsumowanie – prosta logika7Podstawy logiki warunkowej
Instrukcja if-thenInstrukcja if-then-elseInstrukcja elseifPowtórzenie — skrzynia skarbów10Tabele, część 1: styl listy
Czym jest tabela?Tworzenie tabeliDostęp do elementów według indeksuModyfikowanie elementów według indeksuOperator długości '#'table.insert()table.remove()Powtórzenie — zarządzanie członkami drużyny13Projekt: Prosty sklep z eliksirami
Konfiguracja projektuDodawanie eliksiru2Zmienne i typy danych
Czym jest zmienna?LiczbyŁańcuchy znakówWartości logiczneWartość „nil”Funkcja type()Konwencje nazewnictwaPowtórzenie — profil postaci5Podstawowe wyjście
Wyświetlanie literałówWyświetlanie zmiennychWyświetlanie wielu wartościŁączenie ciągów znaków i zmiennychFunkcja tostring()Dane wejścioweRzutowanie typówPowtórka — raport o statusiePowtórka — do 1208Podstawy manipulacji ciągami znaków
string.len()string.upper i string.lowerstring.sub()string.rep()string.find()Podsumowanie – formatuj nazwę użytkownika11Tabele 2: w stylu słownika
Pary klucz-wartośćTworzenie tabel w stylu słownikaDostęp — notacja nawiasowaDostęp za pomocą notacji kropkowejDodawanie i modyfikowanie parUsuwanie par za pomocą nilPodsumowanie — właściwości elementów14Zakres zmiennych
Zmienne globalneZmienne lokalneDlaczego używać zmiennych lokalnych?Zakres i blokiPowtórka — łamigłówka o zakresie3Operatory 1: Arytmetyka i konkatenacja
Operatory arytmetyczneOperator moduloOperator potęgowaniaŁączenie ciągów znakówKolejność wykonywania operatorówPowtórka – proste obliczenia6Projekt: wyświetlanie statystyk postaci
Wiadomość powitalnaDeklarowanie statystyk postaci9Podstawy funkcji
Deklarowanie funkcjiWywoływanie funkcjiFunkcje z parametramiFunkcje z wieloma parametramiInstrukcja „return”Powtórzenie — kalkulator polaPoćwicz samodzielnie: Kompilator Lua online