Funkcje niezwracające wartości
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 25 z 80.
Wiele funkcji nie oblicza żadnej wartości. Robią coś: wyświetlają komunikat, aktualizują tabelę, zapisują stan. W Luau możesz oznaczyć, że funkcja nie zwraca niczego, używając pustego typu zwrotnego ():
local function logMessage(message: string): ()
print(message)
end
local counter = 0
local 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. Jawne zapisanie : () dokumentuje twoje intencje: każdy, kto czyta sygnaturę, wie, że ta funkcja jest wywoływana ze względu na efekty uboczne, a nie jej 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
ŁatwyNapisz dwie funkcje, które coś wypisują i niczego nie zwracają.
- Napisz
local function displayWelcome(userName: string): (), która wypisuje`Welcome, {userName}!`. - Napisz
local function logError(errorMessage: string): (), która wypisuje`ERROR: {errorMessage}`. - Wywołaj
displayWelcome("Alice"), a następnielogError("Invalid input").
Naciśnij Run Code: w wyniku pojawią się Welcome, Alice! i ERROR: Invalid input.
Spróbuj swoich sił
-- 1) displayWelcome(userName: string): ()
-- 2) logError(errorMessage: string): ()
-- 3) wywołaj displayWelcome("Alice"), a następnie logError("Invalid input")
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