Dodawanie i modyfikowanie par
Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 68 z 90.
Aby dodać nową parę klucz-wartość lub zmodyfikować istniejącą, wystarczy użyć operatora przypisania wraz z notacją kropkową lub nawiasową:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Dodaj nową parę klucz-wartość
player.gold = 100
-- Zmień istniejącą wartość
player.level = 6Zaletą tego podejścia jest to, że Lua nie rozróżnia dodawania od modyfikowania. Jeśli klucz "gold" nie istnieje w tabeli, zostaje utworzony z wartością 100. Jeśli klucz "level" już istnieje, jego wartość zostaje zaktualizowana do 6.
Do tych operacji możesz używać zarówno notacji kropkowej, jak i notacji nawiasowej:
-- Oba te zapisy działają tak samo
player.class = "Warrior"
player["weapon"] = "Sword"Wyzwanie
ŁatwyUtwórz system rozwoju postaci, który demonstruje zarówno dodawanie nowych atrybutów, jak i modyfikowanie istniejących. Zacznij od utworzenia tabeli o nazwie hero z następującymi początkowymi parami klucz-wartość: do ["name"] przypisz ciąg znaków "Warrior", do ["level"] przypisz liczbę 5, a do ["health"] przypisz liczbę 120.
Po utworzeniu początkowej tabeli postaci wprowadź następujące modyfikacje: Najpierw dodaj nową parę klucz-wartość ["class"] o wartości "Paladin", używając notacji kropkowej. Następnie zmień istniejącą wartość level na 7, używając notacji nawiasowej. Na koniec dodaj kolejną nową parę klucz-wartość ["mana"] o wartości 80, używając notacji nawiasowej.
Po zakończeniu wszystkich modyfikacji wypisz klasę bohatera i zaktualizowany poziom, aby zweryfikować zmiany.
Spróbuj swoich sił
-- Utwórz początkową tabelę hero
local hero = {
-- TODO: Dodaj tutaj początkowe pary klucz-wartość
}
-- TODO: Dodaj nowe atrybuty i zmodyfikuj istniejące, używając notacji z kropką i nawiasami kwadratowymi
-- Wyświetl klasę hero i zaktualizowany poziom
print(hero.class)
print(hero.level)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ó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