Sentencia match
Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 30 de 92.
La instrucción match compara un valor con una lista de patrones y ejecuta el bloque del primer patrón que coincida. Reemplaza una cadena larga de if/elif que compara la misma variable:
var day := 3
match day:
1:
print("Monday")
2, 3:
print("Midweek")
_:
print("Other day")Esto imprime Midweek.
- cada patrón termina con dos puntos, y su código se indenta un nivel más
- Varios valores separados por comas comparten un bloque:
2, 3: _es el comodín: coincide con cualquier valor, así que va al final, comoelse
Solo se ejecuta el primer bloque que coincide. GDScript no pasa al siguiente patrón, así que no hay que escribir ningún break. Si ningún patrón coincide y no hay un _, no se ejecuta nada.
Los patrones también pueden ser cadenas:
var weapon := "bow"
match weapon:
"sword":
print("Melee")
"bow", "crossbow":
print("Ranged")
_:
print("Unknown")Desafío
FácilLa variable season contiene el nombre de una estación. Escribe una instrucción match que imprima una actividad para esa estación:
"Spring": imprimeGo hiking"Summer": imprimeGo swimming"Fall"o"Autumn": imprimeGo apple picking(un patrón con ambos valores)"Winter": imprimeGo skiing- Cualquier otro valor: imprime
Stay home
Escribe todos los casos. Con season establecido en "Autumn", la salida es:
Go apple pickingPruébalo tú mismo
extends Node
func _ready():
var season := "Autumn"
# Escribe tu sentencia match a continuación
pass
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosDivisión enteraOperador móduloAtajos aritméticosRepaso: matemáticas básicasOperadores de comparación7Entrada y salida básicas
SalidaSalida con variablesFormato de cadenasEntradaConversión de tipoRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónArgumentosRetornoTipos de retornoRepaso: función SigmaRepaso: función de validaciónValores predeterminados5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaCómo obtener datos3Variables, parte 2
Declaración de tiposInferencia de tiposConstantesRepaso: inicializar variablesConversión de tipos9Bucles
Bucle forBucle whileBreakContinueRepaso - FactorialLa función rangeBucle anidadoRepaso - Entrada dinámicaPractica por tu cuenta: Compilador de GDScript online