Menu
Coddy logo textTech

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
end

Wenn 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.

challenge icon

Aufgabe

Einfach

Erstelle 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:

  1. displayWelcome("Alice")
  2. processData()
  3. logError("Invalid input detected")
  4. 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")
quiz iconTeste dich selbst

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

Übe selbstständig: Online-Lua-Compiler