Menu
CoddyTech

Instrução match

Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 30 de 92.

A instrução match compara um valor com uma lista de padrões e executa o bloco do primeiro padrão correspondente. Ela substitui uma longa cadeia de if/elif que compara a mesma variável:

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

Isso imprime Midweek.

  • Cada padrão termina com dois-pontos, e seu código é indentado um nível a mais
  • Vários valores separados por vírgulas compartilham um bloco: 2, 3:
  • _ é o curinga: corresponde a qualquer valor, então fica por último, como else

Apenas o primeiro bloco correspondente é executado. O GDScript não passa para o próximo padrão, então não é necessário escrever break. Se nenhum padrão corresponder e não houver _, nada será executado.

Padrões também podem ser strings:

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

Desafio

Fácil

A variável season contém o nome de uma estação. Escreva uma instrução match que imprima uma atividade para ela:

  • "Spring": imprima Go hiking
  • "Summer": imprima Go swimming
  • "Fall" ou "Autumn": imprima Go apple picking (um padrão com os dois valores)
  • "Winter": imprima Go skiing
  • Qualquer outro valor: imprima Stay home

Escreva todos os casos. Com season definido como "Autumn", a saída é:

Go apple picking

Experimente você mesmo

extends Node

func _ready():
	var season := "Autumn"
	# Escreva sua instrução match abaixo
	pass
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de GDScript online