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, comoelse
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")Desafio
FácilA variável season contém o nome de uma estação. Escreva uma instrução match que imprima uma atividade para ela:
"Spring": imprimaGo hiking"Summer": imprimaGo swimming"Fall"ou"Autumn": imprimaGo apple picking(um padrão com os dois valores)"Winter": imprimaGo skiing- Qualquer outro valor: imprima
Stay home
Escreva todos os casos. Com season definido como "Autumn", a saída é:
Go apple pickingExperimente você mesmo
extends Node
func _ready():
var season := "Autumn"
# Escreva sua instrução match abaixo
pass
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
4Operadores - Parte 1
Operadores aritméticosDivisão inteiraOperador móduloAtalhos aritméticosRevisão - Matemática básicaOperadores de comparação7Entrada e Saída Básicas
SaídaSaída com VariáveisFormatação de StringsEntradaConversão de TipoRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declare uma funçãoArgumentosRetornoTipos de retornoRevisão - Função SigmaRevisão - Função de validaçãoValores padrão13Percorrendo Arrays
Percorrendo elementosPercorrendo com índicesPercorrendo strings — Parte 1Percorrendo strings — Parte 216Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Revisão - Lógica simplesOperadores lógicos Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Variáveis - Parte 2
Declaração de tipoInferência de tipoConstantesRevisão - Inicialização de variáveisConversão de tipo6Tomada de decisões
Instrução ifIf - ElseRevisão - Calculadora simplesIf - Else aninhadoInstrução match9Laços de repetição
Laço forLaço whileInterromperContinuarRevisão - FatorialA função rangeLaço aninhadoRevisão - Entrada dinâmicaPratique por conta própria: Compilador de GDScript online