4D v19

collection.some( )

Inicio

 
4D v19
collection.some( )

collection.some( )  


 

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.

Ejemplo  

 C_COLLECTION($c)
 C_BOOLEAN($b)
 $c:=New collection
 $c.push(-5;-3;-1;-4;-6;-2)
 $b:=$c.some("NumberGreaterThan0") // devuelve false
 $c.push(1)
 $b:=$c.some("NumberGreaterThan0") // devuelve true
 
 $c:=New collection
 $c.push(1;-5;-3;-1;-4;-6;-2)
 $b:=$c.some("NumberGreaterThan0") //$b=true
 $b:=$c.some(1;"NumberGreaterThan0") //$b=false

Con el siguiente método NumberGreaterThan0:

 $1.result:=$1.value>0



Ver también 

collection.every( )

 
PROPIEDADES 

Producto: 4D
Tema: Colecciones

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)