Menu
CoddyTech

Optionale Parameter

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

In einfachem Lua konnten Sie Argumente immer weglassen: Die fehlenden wurden stillschweigend zu nil, und nicht daran zu denken, diesen Fall zu behandeln, war eine klassische Fehlerquelle. Luau macht diese Möglichkeit ausdrücklich: Fügen Sie dem Typ eines Parameters ? hinzu, um ihn als optional zu kennzeichnen.

function greet(name: string, title: string?): string
    if title then
        return `{title} {name}`
    end
    return `Hello, {name}`
end

print(greet("Ada"))          -- Hallo, Ada
print(greet("Ada", "Dr."))   -- Dr. Ada

string? bedeutet „string oder nil“. Aufrufende können eine Zeichenfolge übergeben oder das Argument ganz weglassen; Parameter ohne ? sind erforderlich, und der Prüfer kennzeichnet Aufrufe, bei denen sie fehlen.

Innerhalb der Funktion kann ein optionaler Parameter nil sein, daher sollten Sie ihn vor der Verwendung prüfen: if title then ... end ist das übliche Muster. Überspringen Sie die Prüfung und verketten nil mit einer Zeichenfolge, erhalten Sie denselben Laufzeitfehler, den Lua schon immer ausgegeben hat; der Typprüfer warnt Sie vorher.

challenge icon

Aufgabe

Einfach

Schreibe eine Profilfunktion, bei der der Anzeigename optional ist.

  1. Schreibe local function createUserProfile(username: string, displayName: string?): string.
  2. Gib `Profile: {displayName} (@{username})` zurück, wenn displayName angegeben ist, andernfalls `Profile: @{username}`.
  3. Gib createUserProfile("john_doe", "John Doe") und createUserProfile("jane_smith") aus.

Klicke auf Run Code: Die Ausgabe zeigt Profile: John Doe (@john_doe) und Profile: @jane_smith.

Probier es selbst

-- 1) createUserProfile(username: string, displayName: string?): string
-- 2) Gib es mit und ohne Anzeigenamen aus

Alle Lektionen in Einführung in Luau

Übe selbstständig: Online-Luau-Compiler