El método collection.some( ) devuelve true si al menos un elemento de la colección ha sido evaluado como true para la prueba implementada en el método nomMet.
De forma predeterminada, collection.some( ) prueba toda la colección. Opcionalmente, puede pasar el índice del elemento desde el que comienza la prueba en posicionInicial.
- Si posicionInicial>= la longitud de la colección, False se devuelve, lo que significa que la colección no se prueba.
- Si posicionInicial<0, el fin de la colección se considera como punto de inicio del cálculo de la posición.
- Si posicionInicial=0, se busca en toda la colección (por defecto).
En nonMet, pase el nombre del método a usar para evaluar los elementos de la colección, junto con su(s) parámetro(s) en param (opcional). nonMet puede realizar cualquier prueba, con o sin los parámetros. Este método recibe un parámetro Object en $1 y debe definir $1.result como true para cada elemento que cumple la prueba.
nonMet recibe los siguientes parámetros:
- en $1.value: valor del elemento a evaluar
- en $2: param
- en $N...: param2...paramN
nonMet establece los siguientes parámetros:
- $1.result (booleano): true si la evaluación del valor del elemento es exitosa, de lo contrario, false.
- $1.stop (booleano, opcional): true para detener la retrollamada del método. El valor devuelto es el último calculado.
En todo caso, en el punto donde el método collection.some( ) encuentra el primer elemento de colección que devuelve true en $1.result, deja de llamar a nonMet y devuelve true.
C_COLLECTION($c)
C_BOOLEAN($b)
$c:=New collection
$c.push(-5;-3;-1;-4;-6;-2)
$b:=$c.some("NumberGreaterThan0")
$c.push(1)
$b:=$c.some("NumberGreaterThan0")
$c:=New collection
$c.push(1;-5;-3;-1;-4;-6;-2)
$b:=$c.some("NumberGreaterThan0")
$b:=$c.some(1;"NumberGreaterThan0")
Con el siguiente método NumberGreaterThan0:
$1.result:=$1.value>0