Tabele o mieszanej strukturze
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 18 z 73.
Tablice przechowują wiele wartości jednego typu; mapy przechowują jeden typ klucza i jeden typ wartości. Jednak najczęściej używane tabele Lua łączą różne typy w nazwanych polach: gracz z imieniem typu string, wynikiem typu number i flagą typu boolean. Luau opisuje ich typy za pomocą kształtu: typu tabeli, który wymienia każde pole i jego własny typ.
type Point = {x: number, y: number}
local origin: Point = {x = 0, y = 0}
print(origin.x)Słowo kluczowe type tworzy alias typu: wielokrotnego użytku nazwę kształtu. Istnieje on tylko na potrzeby sprawdzania: nie powstaje żadna wartość czasu wykonania o nazwie Point. Każde pole może mieć inny typ:
type Player = {name: string, score: number, active: boolean}
local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)Po zadeklarowaniu kształtu program sprawdzający wie, że player.score jest liczbą, i wcześnie wykrywa błędy: literówkę taką jak player.scroe (takie pole nie istnieje) albo przypisanie player.score = "high" (nieprawidłowy typ). To dopiero wstęp: w późniejszym rozdziale dokładniej omówimy kształty, pola opcjonalne i metody.
Wyzwanie
ŁatwyZdefiniuj alias typu Player dla struktury z trzema polami: name: string, score: number i active: boolean.
Utwórz local player: Player z nazwą "Rio", wynikiem 1500 i polem active ustawionym na true.
Wypisz, każdy element w osobnym wierszu:
- nazwę gracza
- wynik gracza
- flagę aktywności gracza
- dokładny wiersz
Rio has 1500 pointsutworzony przez interpolację ciągu znaków z pól
Spróbuj swoich sił
-- Napisz kod tutaj
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) utwórz player: Player = {name = "Rio", score = 1500, active = true}
-- 3) wyświetl name, score, active, a następnie wiersz podsumowania z interpolacją
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wprowadzenie do Luau
1Pierwsze kroki z Luau
Czym jest Luau?Dlaczego warto używać Luau?Twój pierwszy kod w LuauSprawdzanie typów i tryby błędówPodsumowanie: Wprowadzenie do Luau4Praca z funkcjami
Typowanie parametrów i wartości zwracanychTypowanie funkcji anonimowychFunkcje niczego nie zwracająceParametry opcjonalneDomyślne wartości parametrówFunkcje wariadyczneDefiniowanie typów funkcjiPodsumowanie: funkcje z typami2Typy podstawowe
Typy podstawowe: num, str, boolTyp „any”: furtka awaryjnaTyp „unknown”Typy Nil i opcjonalneInferencja typów w praktyceJawne adnotacje typówPowtórka: ćwiczenie typów podstawowych5Aliasy, typy sumy i przekroju
Aliasy typów dla typów prostychTypy sumyPraca z typami sumyTypy literałoweTypy przekrojuŁączenie aliasów typówPodsumowanie: zaawansowane kombinacje typów3Typowane tabele: tablice i mapy
Tablice typowaneDodawanie i odczytywanie elementówCzym jest typ mapy?Deklarowanie map i dostęp do nichIterowanie po tabelachTabele o mieszanej strukturzeWielowymiarowe tablice typowanetable.unpack i varargsPodsumowanie: tablice i mapyPoćwicz samodzielnie: Kompilator Luau online