Funktionen ohne Rückgabewert
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 24 von 73.
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:
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endWenn du TypeScript kennst, erfüllt () die gleiche Funktion wie void, aber die Schreibweise in Luau besteht aus einem Paar leerer Klammern, wörtlich „null Rückgabewerte“.
Die Annotation ist optional: Lass sie weg, und Luau schließt daraus, dass die Funktion nichts zurückgibt. Wenn du : () ausdrücklich schreibst, dokumentierst du deine Absicht: Jeder, der die Signatur liest, weiß, dass diese Funktion wegen ihrer Seiteneffekte und nicht wegen ihres Ergebnisses aufgerufen wird.
Zur Laufzeit ändert sich nichts (wie üblich): Eine Funktion ohne einen return-Wert erzeugt einfach nil, wenn du versuchst, ihr Ergebnis zu speichern – genau wie in einfachem Lua.
Aufgabe
EinfachErstelle eine Funktion namens displayWelcome, die userName: string übernimmt und einen expliziten Rückgabetyp von () hat. Sie soll Folgendes ausgeben: "Welcome to our application, [userName]!"
Erstelle eine Funktion namens logError, die errorMessage: string mit dem Rückgabetyp () übernimmt. Sie soll Folgendes ausgeben: "ERROR: [errorMessage]"
Erstelle eine Funktion namens processData, die keine Parameter übernimmt und den Rückgabetyp () hat. Sie soll "Processing data..." und anschließend in der nächsten Zeile "Data processing complete." ausgeben.
Rufe sie in dieser Reihenfolge auf:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Probier es selbst
-- Schreibe Code hier
-- displayWelcome(userName: string): ()
-- logError(errorMessage: string): ()
-- processData(): ()
-- dann aufrufen: displayWelcome("Alice"), processData(),
-- logError("Invalid input detected"), displayWelcome("Bob")
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
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 Luau4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von anonymen FunktionenFunktionen ohne RückgabewertOptionale ParameterStandard-ParameterwerteVariadische FunktionenDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen2Grundtypen
Grundlegende Typen: num, str, boolDer Typ 'any': Der AuswegDer Typ 'unknown'Nil- & optionale TypenTypinferenz in der PraxisExplizite TypannotationenZusammenfassung: Praxis zu Grundtypen5Typ-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 ArraysHinzufügen und Lesen von ElementenWas ist ein Map-Typ?Deklarieren und Zugreifen auf MapsIterieren von TabellenGemischt-strukturierte TabellenMehrdimensionale typisierte Arraystable.unpack und VarargsZusammenfassung: Arrays und MapsÜbe selbstständig: Online-Lua-Compiler