Funkcje niczego nie zwracające
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 24 z 73.
Wiele funkcji nie oblicza wartości. Wykonują coś: wyświetlają komunikat, aktualizują tabelę, zapisują stan. W Luau możesz oznaczyć, że funkcja niczego nie zwraca, używając pustego typu zwracanego ():
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endJeśli znasz TypeScript, () pełni rolę void, ale zapis w Luau to para pustych nawiasów, dosłownie „zero zwracanych wartości”.
Adnotacja jest opcjonalna: pomiń ją, a Luau wywnioskuje, że funkcja niczego nie zwraca. Jawny zapis : () dokumentuje Twoją intencję: każdy, kto czyta sygnaturę, wie, że ta funkcja jest wywoływana ze względu na swoje efekty uboczne, a nie wynik.
W czasie działania nic się nie zmienia (jak zwykle): funkcja bez wartości return po prostu zwraca nil, jeśli spróbujesz przechwycić jej wynik — tak samo jak w zwykłym Lua.
Wyzwanie
ŁatwyUtwórz funkcję o nazwie displayWelcome, która przyjmuje userName: string i ma jawnie określony typ zwracany (). Powinna wypisać: "Welcome to our application, [userName]!"
Utwórz funkcję o nazwie logError, która przyjmuje errorMessage: string i ma typ zwracany (). Powinna wypisać: "ERROR: [errorMessage]"
Utwórz funkcję o nazwie processData, która nie przyjmuje żadnych parametrów i ma typ zwracany (). Powinna wypisać "Processing data...", a następnie "Data processing complete." w kolejnym wierszu.
Wywołaj je w tej kolejności:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Spróbuj swoich sił
-- Napisz kod tutaj
-- displayWelcome(userName: string): ()
-- logError(errorMessage: string): ()
-- processData(): ()
-- następnie wywołaj: displayWelcome("Alice"), processData(),
-- logError("Invalid input detected"), displayWelcome("Bob")
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