Comprobaciones de pertenencia
Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 10 de 78.
Ya compruebas la pertenencia con in y not in: "cat" in pets busca un elemento de un arreglo y "ell" in "hello" busca texto dentro de una cadena. Hay otros tres casos que aparecen constantemente.
En un diccionario, in comprueba solo las claves. Para buscar un valor, comprueba el arreglo que devuelve values():
var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())true
false
trueLa pertenencia también compara tipos. El texto leído con OS.read_string_from_stdin() es una cadena, y la cadena "90" no es el entero 90:
var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)false
trueUna matriz constante de valores permitidos con in reemplaza una larga cadena de or, y también funciona en una guarda:
const DIRECTIONS = ["north", "south", "east", "west"]
var dir := "west"
match dir:
var d when d in DIRECTIONS:
print("Going ", d)
_:
print("You cannot go there")Going westDesafío
FácilEl programa tiene un array names con los estudiantes de una clase y un diccionario grades con los estudiantes que ya tienen una calificación. Lee el nombre de un estudiante en student y una calificación en grade (como texto).
Imprime tres líneas:
NAME is in the class.oNAME is not in the class., comprobandonamesNAME has a grade.oNAME has no grade., comprobando las claves degradesSomeone scored GRADE.oNobody scored GRADE., comprobando los valores degrades
Reemplaza NAME y GRADE con la entrada. Para las entradas Dana y 85, la salida es:
Dana is in the class.
Dana has no grade.
Someone scored 85.Pruébalo tú mismo
extends Node
func _ready():
var names := ["Alice", "Bob", "Charlie", "Dana"]
var grades := {"Alice": 85, "Bob": 90, "Charlie": 78}
var student := OS.read_string_from_stdin()
var grade := OS.read_string_from_stdin()
# Imprime las tres líneas
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y flujo
1Cadenas de texto en profundidad
Métodos de cadenasBúsqueda en cadenasReemplazar y eliminar espaciosDividir y unirRepaso - Comprobación del nombre de usuario4Diccionarios, parte 2
Diccionarios anidadosArrays de diccionariosCombinar diccionariosCopiar diccionariosRepaso: contador de frecuencias7Enumeraciones
¿Qué es una enumeración?Definir una enumeraciónValores de una enumeraciónEnumeraciones en matchRepaso: semáforo10Funciones avanzadas
Devolver múltiples valoresFunciones lambda, parte 1Funciones lambda, parte 2Repaso: ordenar con lambdaFunciones recursivas, parte 1Funciones recursivas, parte 2Repaso: sumar un array anidado13Sistema de gestión de inventario
Descripción general del proyectoAñadir artículo2Toma de decisiones avanzada
Coincidencia con variablesGuardas de coincidenciaPatrones de arraysPatrones de diccionariosComprobaciones de pertenenciaRepaso: analizador de comandos5Aplicación de agenda de contactos
Mostrar menúAñadir contacto8Gestor de expedientes estudiantiles
Descripción del proyectoAgregar estudiante3Arrays multidimensionales
Conceptos básicos de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DRepaso: arrays 2DArrays irregularesPatrones comunes de arrays 2DRepaso: tablero de juego6Conjuntos con diccionarios
¿Qué es un conjunto?El diccionario como conjuntoAñadir y eliminarUnión e intersecciónDiferencia de conjuntosRepaso: eliminar duplicados9Agregación avanzada de datos
Suma de valoresCómo encontrar el mínimo y el máximoOrdenación personalizadaRepaso: organizador de diccionariosPractica por tu cuenta: Compilador de GDScript online