Dlaczego warto używać Luau?
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 2 z 80.
System typów Luau oferuje trzy główne korzyści, dzięki którym programowanie jest bezpieczniejsze i wydajniejsze.
Wykrywanie błędów na wczesnym etapie: sprawdzanie typów analizuje kod podczas jego edycji, zanim zostanie uruchomiony. Rozważmy klasyczny błąd w Lua: przekazanie nil tam, gdzie oczekiwana jest liczba:
-- Lua: nic cię przed tym nie ostrzega
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ błąd podczas wykonywania programu: próba wykonania operacji arytmetycznej na nilW zwykłym Lua awaria następuje dopiero wtedy, gdy błędne wywołanie zostanie wykonane — być może w obecności użytkowników. Co gorsza, Lua czasem całkowicie ukrywa błąd: "50" + 0.1 po cichu konwertuje ciąg znaków i zwraca 50.1… aż do dnia, w którym ciąg nie będzie liczbą. Adnotacje Luau powodują, że błąd jest sygnalizowany natychmiast:
local function calculateTotal(price: number, tax: number)
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ błąd typu podczas edycji: nil nie jest liczbąLepsza czytelność kodu: adnotacje pełnią rolę dokumentacji. price: number dokładnie informuje ciebie i twój zespół, czego oczekuje funkcja: bez zgadywania i przeszukiwania implementacji.
Ulepszone narzędzia programistyczne: ponieważ edytor zna typ każdej zmiennej, otrzymujesz trafne autouzupełnianie, bezpieczniejsze refaktoryzacje i inteligentniejszą nawigację. Wpisz kropkę po wartości z określonym typem, a edytor wyświetli dokładnie to, co jest dostępne.
Wyzwanie
ŁatwyPrzypisz obu parametrom funkcji calculateTotal typ number.
- W pierwszym wierszu zmień
(price, tax)na(price: number, tax: number). - Pozostaw wywołanie
calculateTotal(80, 8)na dole.
Naciśnij Uruchom kod: wynik to 88.
Spróbuj swoich sił
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(80, 8))
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