Menu
CoddyTech

Anonyme Funktionen typisieren

Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 24 von 80.

In Lua sind Funktionen Werte: Du hast sie in Variablen gespeichert und weitergegeben: local f = function(x) return x * 2 end. Diese anonymen Funktionen (Funktionsausdrücke) erhalten Typannotationen genau wie benannte Funktionen:

local double = function(x: number): number
    return x * 2
end

local shout = function(text: string): string
    return string.upper(text) .. "!"
end

Parameter erhalten innerhalb der Klammern die Form name: type, und der Rückgabetyp folgt auf die schließende Klammer: Der einzige Unterschied zu einer benannten Funktion besteht darin, dass das Schlüsselwort function keinen Namen hat und der gesamte Ausdruck einer Variablen zugewiesen wird.

Falls du JavaScript oder TypeScript kennst, beachte, dass Luau keine Pfeilfunktionen hat. Es gibt keine Syntax mit =>. Jeder Funktionsausdruck wird mit function ... end geschrieben, egal ob lang oder kurz.

Nach der Zuweisung rufst du die Funktion über die Variable wie jede andere Funktion auf: double(21) gibt 42 zurück, und der Prüfer überprüft jeden Aufruf anhand der von dir geschriebenen Annotationen.

challenge icon

Aufgabe

Einfach

Speichere typisierte Funktionen in lokalen Variablen.

  1. Schreibe subtract als local subtract = function(a: number, b: number): number um und behalte den Funktionskörper bei.
  2. Füge local isPositive = function(num: number): boolean hinzu, das num > 0 zurückgibt.
  3. Gib subtract(10, 3) und isPositive(-5) aus.

Klicke auf Run Code: Die Ausgabe zeigt 7 und false.

Probier es selbst

-- Schreibe dies als anonyme Funktion um, die in einer lokalen Variablen gespeichert wird
function subtract(a: number, b: number): number
    return a - b
end

Alle Lektionen in Einführung in Luau

Übe selbstständig: Online-Luau-Compiler