La méthode collection.some( ) retourne vrai si au moins un des éléments de la collection a été évalué à vrai par le test implémenté dans la méthode nomMéthode passée en paramètre.
Par défaut, collection.some( ) évalue l'ensemble de la collection. Optionnellement, vous pouvez passer le numéro de l'élément auquel démarrer l'évaluation dans positionDépart.
- Si positionDépart >= taille de la collection, collection.some( ) retourne faux (la collection n'est pas évaluée).
- Si positionDépart < 0, le paramètre est recalculé comme positionDépart:=positionDépart+length (la fin de la collection est considérée comme point de départ du calcul de la position).
- Si positionDépart = 0, l'ensemble de la collection est évalué (défaut).
Dans nomMéthode, passez le nom de la méthode à utiliser pour évaluer les éléments de la collection, ainsi que son ou ses paramètre(s) dans param (optionnel). nomMéthode peut effectuer tout test, avec ou sans paramètres. La méthode reçoit un paramètre de type Objet dans $1 et doit retourner true dans $1.result pour tout élément ayant satisfait aux conditions du test.
nomMéthode reçoit les paramètres suivants :
- dans $1.value : valeur de l'élément à évaluer
- dans $2 : param
- dans $N... : param2...paramN
nomMéthode doit fixer le(s) paramètre(s) suivant(s) :
- $1.result (booléen) : true si la valeur de l'élément est évaluée avec succès, false sinon.
- $1.stop (booléen, optionnel) : true pour stopper le rétroappel de méthode. La valeur retournée est la dernière calculée.
Dans tous les cas, au premier élément retournant true dans $1.result, la méthode collection.some( ) cesse d'appeler nomMéthode et retourne Vrai.
C_COLLECTION($c)
C_BOOLEEN($b)
$c:=Creer collection
$c.push(-5;-3;-1;-4;-6;-2)
$b:=$c.some("NumberGreaterThan0")
$c.push(1)
$b:=$c.some("NumberGreaterThan0")
$c:=Creer collection
$c.push(1;-5;-3;-1;-4;-6;-2)
$b:=$c.some("NumberGreaterThan0")
$b:=$c.some(1;"NumberGreaterThan0")
Avec la méthode NumberGreaterThan0 suivante :
$1.result:=$1.value>0