Vérifications d’appartenance
Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 10 sur 78.
Tu vérifies déjà l’appartenance avec in et not in : "cat" in pets recherche un élément d’un tableau et "ell" in "hello" recherche du texte dans une chaîne. Trois autres cas se présentent très souvent.
Dans un dictionnaire, in vérifie uniquement les clés. Pour rechercher une valeur, vérifie le tableau renvoyé par values() :
var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())true
false
trueL’appartenance compare également les types. Le texte lu avec OS.read_string_from_stdin() est une chaîne, et la chaîne "90" n’est pas l’entier 90 :
var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)false
trueUn tableau constant de valeurs autorisées avec in remplace une longue chaîne de or, et fonctionne aussi dans une garde :
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 westDéfi
FacileLe programme possède un tableau names contenant les élèves d’une classe et un dictionnaire grades contenant les élèves qui ont déjà une note. Il lit un nom d’élève dans student et une note dans grade (sous forme de texte).
Affiche trois lignes :
NAME is in the class.ouNAME is not in the class., en vérifiantnamesNAME has a grade.ouNAME has no grade., en vérifiant les clés degradesSomeone scored GRADE.ouNobody scored GRADE., en vérifiant les valeurs degrades
Remplace NAME et GRADE par les valeurs saisies. Pour les entrées Dana et 85, la sortie est :
Dana is in the class.
Dana has no grade.
Someone scored 85.Essayez vous-même
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()
# Affiche les trois lignes
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et flux d’exécution
1Les chaînes de caractères en profondeur
Méthodes des chaînesRechercher dans les chaînesRemplacer et supprimer les espacesDécouper et joindreRécapitulatif - Vérifier un nom d’utilisateur4Dictionnaires, partie 2
Dictionnaires imbriquésTableaux de dictionnairesFusionner des dictionnairesCopier des dictionnairesRécapitulatif - Compteur de fréquence7Énumérations
Qu’est-ce qu’une énumération ?Définir une énumérationValeurs d’une énumérationÉnumérations avec matchRécapitulatif - Feu de circulation10Fonctions avancées
Renvoyer plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’un tableau imbriqué13Système de gestion des stocks
Présentation du projetAjouter un article2Prise de décision avancée
Correspondance avec des variablesGardes de correspondanceMotifs de tableauMotifs de dictionnaireVérifications d’appartenanceRécapitulatif – Analyseur de commandes5Application de carnet d’adresses
Afficher le menuAjouter un contact8Gestionnaire des dossiers étudiants
Aperçu du projetAjouter un étudiant3Tableaux multidimensionnels
Bases des tableaux 2DAccéder aux éléments d’un tableau 2DBoucles imbriquées avec des tableaux 2DRécapitulatif - Tableaux 2DTableaux irréguliersMotifs courants des tableaux 2DRécapitulatif - Plateau de jeu6Les ensembles avec les dictionnaires
Qu’est-ce qu’un ensemble ?Un dictionnaire comme ensembleAjouter et supprimerUnion et intersectionDifférence d’ensemblesRécapitulatif – Supprimer les doublons9Agrégation avancée de données
Additionner des valeursTrouver le minimum et le maximumTri personnaliséRécapitulatif - Trieur de dictionnairesEntraînez-vous par vous-même : Compilateur GDScript en ligne