Typowane tablice
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 13 z 80.
Tablice typowane to jedna z najbardziej przydatnych funkcji Luau, która pozwala organizować wiele wartości z zachowaniem bezpieczeństwa typów.
W Lua tablica to po prostu tabela z wartościami na pozycjach 1, 2, 3, … i może bez problemu przechowywać jednocześnie liczbę, ciąg znaków i wartość logiczną. Luau pozwala zadeklarować, że tabela powinna zawierać wyłącznie elementy jednego typu, używając składni {Type}:
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Gdy deklarujesz typowaną tablicę, kontroler typów Luau pilnuje, by trafiały do niej tylko wartości zadeklarowanego typu. Wstaw ciąg znaków do tablicy {number}, a podczas edycji pojawi się błąd typu — jeszcze zanim kod zostanie uruchomiony:
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ błąd typu: string nie jest liczbąWszystko, co już wiesz o tabelach Lua, nadal obowiązuje: indeksowanie tablic zaczyna się od 1 (scores[1] to pierwszy element), #scores oznacza długość, a table.insert / table.remove działają jak zwykle. Adnotacja zwiększa bezpieczeństwo, ale nie zmienia zachowania programu w czasie wykonywania.
Wyzwanie
ŁatwyPrzechowuj wyniki i imiona w typowanych tablicach.
- Zadeklaruj
local scores: {number} = {85, 92, 78}. - Zadeklaruj
local studentNames: {string} = {"Alice", "Bob", "Charlie"}. - Wypisz
scores[1],#scoresistudentNames[2], po jednym w każdym wierszu.
Naciśnij Uruchom kod: wynik to 85, 3 i Bob.
Spróbuj swoich sił
-- 1) zadeklaruj scores: {number} i studentNames: {string}
-- 2) wypisz pierwszy wynik, liczbę wyników i drugie imię
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 niezwracające wartościParametry opcjonalneDomyślne wartości parametrówWartości domyślne dla typów BooleanFunkcje wariadyczneDefiniowanie typów funkcjiPodsumowanie: funkcje z typami2Podstawowe typy
Number, String i BooleanTyp 'any': wyjście awaryjneTyp 'unknown'Nil i typy opcjonalneInferencja typów w praktyceJawne adnotacje typówPowtórka: ćwiczenia z podstawowych typów5Aliasy, 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
Typowane tabliceDodawanie i odczytywanie elementówCzym jest typ mapy?Deklarowanie i uzyskiwanie dostępu do mapIterowanie po tabelachTabele o mieszanej strukturzeOdczytywanie siatkiTworzenie siatkitable.unpackPodsumowanie: tablice i mapyPoćwicz samodzielnie: Kompilator Luau online