Menu
CoddyTech

Instruction match

Fait partie de la section Fondamentaux du Journey GDScript de Coddy. Leçon 30 sur 92.

L’instruction match compare une valeur à une liste de motifs et exécute le bloc du premier motif correspondant. Elle remplace une longue chaîne de if/elif qui compare la même variable :

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

Cela affiche Midweek.

  • Chaque motif se termine par deux-points, et son code est indenté d’un niveau supplémentaire
  • Plusieurs valeurs séparées par des virgules partagent un même bloc : 2, 3:
  • _ est le caractère générique : il correspond à n’importe quelle valeur, il vient donc en dernier, comme else

Seul le premier bloc correspondant s’exécute. GDScript ne passe pas au motif suivant, donc il n’y a pas de break à écrire. Si aucun motif ne correspond et qu’il n’y a pas de _, rien ne s’exécute.

Les motifs peuvent aussi être des chaînes :

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

Défi

Facile

La variable season contient le nom d’une saison. Écris une instruction match qui affiche une activité correspondante :

  • "Spring" : afficher Go hiking
  • "Summer" : afficher Go swimming
  • "Fall" ou "Autumn" : afficher Go apple picking (un seul motif avec les deux valeurs)
  • "Winter" : afficher Go skiing
  • Toute autre valeur : afficher Stay home

Écris tous les cas. Avec season défini sur "Autumn", le résultat est :

Go apple picking

Essayez vous-même

extends Node

func _ready():
	var season := "Autumn"
	# Écrivez votre instruction match ci-dessous
	pass
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur GDScript en ligne