Czym jest Luau?
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 1 z 80.
Luau to język programowania stworzony przez Roblox, który rozwija znane Ci już Lua, dodając stopniowe typowanie statyczne. Pomyśl o nim jak o Lua z dodatkową warstwą bezpieczeństwa i narzędzi. Obsługuje miliony gier i doświadczeń w Roblox i jest oprogramowaniem open source od 2021 roku.
Kluczowa idea jest taka, że Luau jest nadzbiorem Lua 5.1. Każdy poprawny kod Lua 5.1 jest również poprawnym kodem Luau: możesz wziąć skrypt napisany w poprzednich sekcjach i uruchomić go jako Luau bez żadnych zmian.
Luau dodaje adnotacje typów. Adnotacja określa, jaki rodzaj danych powinna przechowywać zmienna — ciąg znaków, liczbę, wartość logiczną lub tabelę — dzięki czemu błędy można wykryć, zanim kod w ogóle zostanie uruchomiony:
-- Lua (poprawne również w Luau)
local playerName = "Rio"
-- Luau z adnotacją typu
local playerName: string = "Rio"Istotne jest słowo stopniowe: adnotacje są opcjonalne. Możesz określić typ jednej zmiennej, jednej funkcji lub całego pliku — kod w stylu Lua bez typów nadal będzie działać, a Ty możesz dodawać typy we własnym tempie.
W zamian zyskujesz lepsze narzędzia w edytorze, czytelniejszy kod i ochronę przed błędami, które zwykłe Lua ujawnia dopiero podczas działania programu.
Wyzwanie
ŁatwyZamień tę zmienną Lua na typowaną zmienną Luau.
- W wierszu
local message = "Hello World"dodaj: stringzaraz pomessage. - Pozostaw wiersz
print(message)bez zmian.
Naciśnij Uruchom kod: wynik pokazuje Hello World.
Spróbuj swoich sił
-- Zwykła Lua: message nie ma jeszcze typu
local message = "Hello World"
print(message)
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