Menu
CoddyTech

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() renvoie true si la fonction renvoie true pour au moins un élément.
  • all() renvoie true si la fonction renvoie true pour 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
false

Un 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")
challenge icon

Défi

Facile

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

  1. Any perfect: suivi de true si au moins un score est 100, sinon false
  2. All passed: suivi de true si chaque score est égal ou supérieur à 50, sinon false

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

Essayez 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()
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur GDScript en ligne