Standardwerte
Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 57 von 92.
Ein Parameter kann einen Standardwert haben, der in der Deklaration mit = geschrieben wird. Bei einem Aufruf kann dieses Argument dann weggelassen werden, und der Parameter erhält den Standardwert:
func greet(player, greeting = "Hello"):
print(greeting, ", ", player, "!")greet("Ana")
greet("Ana", "Welcome back")Hello, Ana!
Welcome back, Ana!Der erste Aufruf übergibt ein Argument, daher ist greeting "Hello". Der zweite Aufruf übergibt seinen eigenen Wert, der den Standardwert ersetzt.
Eine Funktion kann mehrere Standardwerte haben, und auch typisierte Parameter können sie haben:
func spawn(enemy: String, count: int = 1, speed: float = 2.5) -> void:
print(count, " x ", enemy, " at speed ", speed)spawn("bat") gibt 1 x bat at speed 2.5 aus, und spawn("bat", 3) gibt 3 x bat at speed 2.5 aus. Argumente füllen die Parameter weiterhin der Reihe nach, daher kannst du speed nicht übergeben, ohne auch count zu übergeben.
Parameter mit einem Standardwert müssen nach denen ohne folgen. func greet(greeting = "Hello", player): ist ein Fehler: „Cannot have mandatory parameters after optional parameters“.
Aufgabe
EinfachDas Programm liest einen Spielernamen in player ein.
- Definiere unter
_ready()eine Funktiongreetmit zwei Parametern:player_nameundgreetingmit dem Standardwert"Hello". Sie gibt die Begrüßung, ein Komma und ein Leerzeichen, den Namen und!aus. - Rufe in
_ready()zuerstgreet(player)und danngreet(player, "Welcome back")auf.
Für die Eingabe Ana lautet die Ausgabe:
Hello, Ana!
Welcome back, Ana!Probier es selbst
extends Node
func _ready():
var player := OS.read_string_from_stdin()
# Rufe greet(player) auf, dann greet(player, "Welcome back")
# Deklariere unten greet() mit "Hello" als Standardbegrüßung
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorRechenabkürzungenRückblick – Einfache MathematikVergleichsoperatoren7Einfache Ein- und Ausgabe
AusgabeAusgabe mit VariablenString-FormatierungEingabeTypumwandlungWiederholung – bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenArgumenteRückgabewertRückgabetypenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungsteiler
BegrüßungsnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Variablen Teil 2
TypdeklarationTypinferenzKonstantenWiederholung – Variablen initialisierenTypumwandlung6Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – einfacher TaschenrechnerVerschachteltes If - ElseMatch-Anweisung9Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung – FakultätDie Range-FunktionVerschachtelte SchleifeWiederholung – Dynamische EingabeÜbe selbstständig: Online-GDScript-Compiler