Podsumowanie: definiowanie kształtów tabel
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 44 z 73.
Wyzwanie
ŚredniUtwórz alias typu o nazwie Computer, zawierający:
idtypunumberbrandtypustringramInGBtypunumber?(opcjonalnie)boot: metodę(self: Computer) -> ()
Utwórz dwa komputery (przypisz metodę boot za pomocą składni definicji z dwukropkiem):
workstation: id1001, marka"Dell", ramInGB16; jegobootwyświetla[brand] is booting up...laptop: id1002, marka"MacBook", bez ramInGB; jegobootwyświetla[brand] is starting...
Utwórz funkcję specs, która przyjmuje Computer i zwraca string: [brand] with [ramInGB] GB of RAM, gdy ilość pamięci RAM jest znana, a w przeciwnym razie [brand] with unknown RAM.
Następnie, w podanej kolejności:
- wywołaj
workstation:boot() - wywołaj
laptop:boot() - wyświetl
specs(workstation) - wyświetl
specs(laptop) - wyświetl id obiektu
workstation
Spróbuj swoich sił
-- Napisz tutaj kod
-- 1) zdefiniuj typ Computer (opcjonalne ramInGB, metoda boot)
-- 2) utwórz workstation i laptop, przypisz metodę boot za pomocą składni z dwukropkiem
-- 3) napisz specs ze sprawdzeniem, czy ramInGB ma wartość nil
-- 4) uruchom oba komputery, wypisz specyfikacje obu i wypisz workstation.id
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 mapy6Typowanie kształtów tabel
Adnotacje kształtów w miejscuAliasy typów dla kształtówWłaściwości opcjonalneKształty a luźne tabeleRozszerzanie kształtówDodawanie metod do kształtówSelf i metody z dwukropkiemPodsumowanie: definiowanie kształtów tabelPoćwicz samodzielnie: Kompilator Luau online