Usuwanie par za pomocą nil
Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 69 z 90.
Gdy przypiszesz nil do klucza, Lua efektywnie usuwa tę parę klucz-wartość z tablicy:
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Usuń ustawienie difficulty
settings.difficulty = nil
-- Teraz klucz difficulty nie istnieje już w tabeliDo usunięcia pary klucz-wartość możesz użyć notacji kropkowej lub nawiasowej. Zarówno settings.difficulty = nil, jak i settings["difficulty"] = nil działają dokładnie tak samo.
Po przypisaniu nil do klucza ten klucz całkowicie znika z tabeli. Jeśli spróbujesz uzyskać do niego dostęp później, wynikiem będzie nil, tak jakby ten klucz nigdy wcześniej nie istniał.
Wyzwanie
ŁatwyUtwórz system konfiguracji gry, który demonstruje usuwanie niepotrzebnych ustawień z tabeli w stylu słownika. Zacznij od utworzenia tabeli o nazwie gameConfig z następującymi parami klucz-wartość: do ["graphics"] przypisz ciąg znaków "high", do ["sound"] przypisz liczbę 75, do ["difficulty"] przypisz ciąg znaków "normal", a do ["debug"] przypisz wartość logiczną true.
Po utworzeniu początkowej tabeli konfiguracji usuń ustawienie debug, przypisując mu nil za pomocą notacji kropkowej. Następnie wypisz pozostałe ustawienie dźwięku, aby sprawdzić, czy tabela nadal zawiera pozostałe wartości.
Spróbuj swoich sił
-- TODO: Napisz tutaj swój kod
-- Utwórz tabelę gameConfig z wymaganymi parami klucz-wartość
-- Usuń ustawienie debug, używając notacji kropkowej
-- Wypisz ustawienie soundTa 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ów3Operatory 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