Menu
CoddyTech

Match-Anweisung

Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 30 von 92.

Die match-Anweisung vergleicht einen Wert mit einer Liste von Mustern und führt den Block des ersten passenden Musters aus. Sie ersetzt eine lange if/elif-Kette, die dieselbe Variable vergleicht:

var day := 3
match day:
	1:
		print("Monday")
	2, 3:
		print("Midweek")
	_:
		print("Other day")

Dies gibt Midweek aus.

  • Jedes Muster endet mit einem Doppelpunkt, und sein Code ist eine Ebene tiefer eingerückt
  • Mehrere durch Kommas getrennte Werte teilen sich einen Block: 2, 3:
  • _ ist der Platzhalter: Er passt zu jedem Wert und steht deshalb zuletzt, wie else

Nur der erste passende Block wird ausgeführt. GDScript fällt nicht zum nächsten Muster durch, daher muss kein break geschrieben werden. Wenn kein Muster passt und es kein _ gibt, wird nichts ausgeführt.

Muster können auch Zeichenketten sein:

var weapon := "bow"
match weapon:
	"sword":
		print("Melee")
	"bow", "crossbow":
		print("Ranged")
	_:
		print("Unknown")
challenge icon

Aufgabe

Einfach

Die Variable season enthält den Namen einer Jahreszeit. Schreibe eine match-Anweisung, die eine passende Aktivität ausgibt:

  • "Spring": gib Go hiking aus
  • "Summer": gib Go swimming aus
  • "Fall" oder "Autumn": gib Go apple picking aus (ein Muster mit beiden Werten)
  • "Winter": gib Go skiing aus
  • Jeder andere Wert: gib Stay home aus

Schreibe alle Fälle. Wenn season auf "Autumn" gesetzt ist, lautet die Ausgabe:

Go apple picking

Probier es selbst

extends Node

func _ready():
	var season := "Autumn"
	# Schreibe deine match-Anweisung unten
	pass
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 Grundlagen

Übe selbstständig: Online-GDScript-Compiler