Menu
CoddyTech

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
true

La 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
true

Una 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 west
challenge icon

Desafío

Fácil

El 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:

  1. NAME is in the class. o NAME is not in the class., comprobando names
  2. NAME has a grade. o NAME has no grade., comprobando las claves de grades
  3. Someone scored GRADE. o Nobody scored GRADE., comprobando los valores de grades

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
quiz iconPonte a prueba

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

Practica por tu cuenta: Compilador de GDScript online