Menu
CoddyTech

Instrukcja match

Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 30 z 92.

Instrukcja match porównuje jedną wartość z listą wzorców i uruchamia blok pierwszego pasującego wzorca. Zastępuje długi łańcuch if/elif, który porównuje tę samą zmienną:

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

To wypisuje Midweek.

  • Każdy wzorzec kończy się dwukropkiem, a jego kod jest wcięty o jeden poziom głębiej
  • Kilka wartości oddzielonych przecinkami współdzieli jeden blok: 2, 3:
  • _ to symbol wieloznaczny: pasuje do dowolnej wartości, więc umieszcza się go na końcu, tak jak else

Wykonuje się tylko pierwszy pasujący blok. GDScript nie przechodzi do następnego wzorca, więc nie trzeba pisać break. Jeśli żaden wzorzec nie pasuje i nie ma _, nic się nie wykona.

Wzorcami mogą być również ciągi znaków:

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

Wyzwanie

Łatwy

Zmienna season przechowuje nazwę pory roku. Napisz instrukcję match, która wypisuje aktywność dla tej pory roku:

  • "Spring": wypisz Go hiking
  • "Summer": wypisz Go swimming
  • "Fall" lub "Autumn": wypisz Go apple picking (jeden wzorzec z obiema wartościami)
  • "Winter": wypisz Go skiing
  • Każda inna wartość: wypisz Stay home

Napisz wszystkie przypadki. Gdy season ma wartość "Autumn", wynikiem jest:

Go apple picking

Spróbuj swoich sił

extends Node

func _ready():
	var season := "Autumn"
	# Napisz poniżej swoją instrukcję match
	pass
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator GDScript online