Lambda-Funktionen Teil 1
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 54 von 78.
Eine Lambda-Funktion ist eine Funktion ohne Namen, die als Wert geschrieben wird. Du kannst sie wie eine Zahl oder eine Zeichenkette in einer Variablen speichern:
var add = func(a, b): return a + bEs beginnt wie jede Funktion mit func, den Parametern und einem Doppelpunkt, hat aber keinen Namen. Der Rumpf mit einer Anweisung kann in derselben Zeile stehen.
Um eine in einer Variablen gespeicherte Lambda-Funktion auszuführen, rufe ihre Methode call() mit den Argumenten auf:
print(add.call(5, 3))8add(5, 3) funktioniert nicht: GDScript sucht im Skript nach einer Funktion namens add und meldet Function "add()" not found, bevor das Programm ausgeführt wird.
Eine längere Lambda-Funktion hat einen eingerückten Block. Wie jede Funktion benötigt sie return, um einen Wert zurückzugeben:
var greet = func(player_name):
var message = "Hello, " + player_name
return message + "!"
print(greet.call("Ana"))Hello, Ana!Eine Lambda ohne return gibt null zurück, also berechnet func(n): n * 2 den Wert und verwirft ihn.
Parameter und Rückgabewert können Typen haben: func(n: int) -> int: return n * 2. Der Wert einer Lambda-Funktion ist ein Callable, der GDScript-Typ für „etwas, das du aufrufen kannst“.
Aufgabe
EinfachDas Programm liest drei ganze Zahlen, a, b und c.
- Erstelle eine Lambda-Funktion mit drei Parametern,
x,yundz, die ihr Produkt zurückgibt, und speichere sie in einer Variablen namensmultiply. - Rufe sie mit
a,bundcauf und gib das Ergebnis aus.
Für die Eingaben 2, 3 und 4 lautet die Ausgabe:
24Probier es selbst
extends Node
func _ready():
var a := int(OS.read_string_from_stdin())
var b := int(OS.read_string_from_stdin())
var c := int(OS.read_string_from_stdin())
# Erstelle hier die Lambda-Funktion multiply
# Rufe multiply mit a, b und c auf und gib das Ergebnis aus
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablaufsteuerung
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler