any et all
Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 63 sur 78.
any() et all() posent une question par oui ou par non à propos d’un tableau entier. Les deux prennent une fonction qui renvoie true ou false pour un élément :
any()renvoietruesi la fonction renvoietruepour au moins un élément.all()renvoietruesi la fonction renvoietruepour chaque élément.
var enemy_hp = [30, 0, 12]
print(enemy_hp.any(func(hp): return hp == 0))
print(enemy_hp.all(func(hp): return hp > 0))true
falseUn ennemi a 0 PV, donc any() est true, et ce même ennemi rend all() false.
Les deux s’arrêtent dès que la réponse est connue : any() au premier true, all() au premier false. Elles fonctionnent aussi avec des fonctions nommées, comme numbers.all(is_even).
Sur un tableau vide, any() renvoie false, car aucun élément ne satisfait la condition, et all() renvoie true, car aucun élément ne la satisfait pas.
Utilisez-les dans une condition à la place d'une boucle avec une variable indicatrice :
var inventory = ["sword", "key", "rope"]
if inventory.any(func(item): return item == "key"):
print("The door opens")Défi
FacileLe programme lit une ligne de scores séparés par des virgules et les stocke dans le tableau numbers. Cette partie est déjà écrite.
Affichez deux lignes :
Any perfect:suivi detruesi au moins un score est100, sinonfalseAll passed:suivi detruesi chaque score est égal ou supérieur à50, sinonfalse
Utilisez any() pour la première ligne et all() pour la deuxième. Pour l’entrée 100,75,40, la sortie est :
Any perfect: true
All passed: falseEssayez vous-même
extends Node
func _ready():
var numbers := []
for part in OS.read_string_from_stdin().split(","):
numbers.append(int(part))
# Affiche les deux lignes avec any() et all()
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 étudiant11Fonctions d’ordre supérieur
La méthode mapLa méthode filterLa méthode reduceany et allRécapitulatif - Validateur d’e-mailsRécapitulatif - Traitement de nombres3Tableaux 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