Funktionen ohne Rückgabewert
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 25 von 80.
Viele Funktionen berechnen keinen Wert. Sie tun etwas: Sie geben eine Nachricht aus, aktualisieren eine Tabelle oder speichern einen Zustand. In Luau kannst du mit dem leeren Rückgabetyp () angeben, dass eine Funktion nichts zurückgibt:
local function logMessage(message: string): ()
print(message)
end
local counter = 0
local function incrementCounter(): ()
counter += 1
endWenn du TypeScript kennst: () übernimmt die Rolle von void, aber die Schreibweise in Luau besteht aus einem Paar leerer Klammern, wörtlich „null Rückgabewerte“.
Die Annotation ist optional: Lässt du sie weg, leitet Luau ab, dass die Funktion nichts zurückgibt. Mit der ausdrücklichen Angabe : () dokumentierst du deine Absicht: Wer die Signatur liest, weiß, dass diese Funktion wegen ihrer Seiteneffekte aufgerufen wird und nicht wegen ihres Rückgabewerts.
Zur Laufzeit ändert sich nichts (wie üblich): Eine Funktion ohne einen return-Wert gibt einfach nil zurück, wenn du versuchst, ihr Ergebnis zu speichern – genauso wie in reinem Lua.
Aufgabe
EinfachSchreibe zwei Funktionen, die etwas ausgeben und nichts zurückgeben.
- Schreibe
local function displayWelcome(userName: string): (), die`Welcome, {userName}!`ausgibt. - Schreibe
local function logError(errorMessage: string): (), die`ERROR: {errorMessage}`ausgibt. - Rufe zuerst
displayWelcome("Alice")und dannlogError("Invalid input")auf.
Drücke auf Run Code: Die Ausgabe zeigt Welcome, Alice! und ERROR: Invalid input.
Probier es selbst
-- 1) displayWelcome(userName: string): ()
-- 2) logError(errorMessage: string): ()
-- 3) rufe displayWelcome("Alice") auf, dann logError("Invalid input")
Alle Lektionen in Einführung in Luau
1Erste Schritte mit Luau
Was ist Luau?Warum Luau nutzen?Dein erster Luau-CodeTypprüfung & FehlermodiZusammenfassung: Einführung in Luau4Mit Funktionen arbeiten
Parameter und Rückgabewerte typisierenAnonyme Funktionen typisierenFunktionen ohne RückgabewertOptionale ParameterStandardwerte für ParameterStandardwerte für boolesche WerteFunktionen mit variabler ParameteranzahlFunktionstypen definierenRückblick: typisierte Funktionen7Projekt: Typisierter Aufgabenmanager
Projekt: Die AufgabenstrukturFunktion zum Hinzufügen einer Aufgabe2Grundlegende Typen
Zahl, String und BooleanDer Typ „any“: NotausgangDer Typ „unknown“Nil- und optionale TypenTypinferenz in der PraxisExplizite TypannotationenRückblick: Übung zu grundlegenden Typen5Typ-Aliase, Union-Typen und Schnittmengen-Typen
Typ-Aliase für PrimitivenUnion-TypenArbeiten mit Union-TypenLiterale TypenSchnittmengen-Typen (Intersection Types)Kombination von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Typisierte Tabellen: Arrays & Maps
Typisierte ArraysElemente hinzufügen und auslesenWas ist ein Map-Typ?Maps deklarieren und auf Elemente zugreifenTabellen durchlaufenTabellen mit gemischten FormenEin Raster auslesenEin Raster erstellentable.unpackRückblick: Arrays und MapsÜbe selbstständig: Online-Luau-Compiler