Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19.8
collection.every( )

collection.every( ) 


 

collection.every ( {posicIni ;} nomMet {; param {; param2 ; ... ; paramN}} ) -> Resultado 
Parámetro Tipo   Descripción
posicIni  Entero largo in Elemento a partir del cual iniciar la evaluación
nomMet  Texto in Nombre del método a llamar para la prueba
param  Expresión in Parámetro(s) a pasar a nomMet
Resultado  Booleano in True si todos los elemento son evaluados con éxito

El método collection.every( ) devuelve true si todos los elementos en la colección pasaron con éxito una prueba implementada en el método nomMet pasado.

De forma predeterminada, collection.every( ) prueba toda la colección. Opcionalmente, puede pasar en posicIni el índice del elemento desde el que comienza la prueba.

  • Si posicIni >= longitud de la colección, se devuelve false, lo que significa que la colección no se prueba.
  • Si posicIni < 0, el fin de la colección se considera como punto de inicio del cálculo de la posición ( posicIni :=posicIni +length).
  • Si posicIni = 0, se busca en toda la colección (por defecto).

En nomMet, 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). nomMet 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.

nomMet recibe los siguientes parámetros:

  • en $1.value: valor del elemento a evaluar
  • en $2: param
  • en $N...: param2...paramN

nomMet define los siguientes parámetros:

  • $1.result (booleano): true si la evaluación del valor del elemento es exitosa, de lo contrario, es false.
  • $1.stop (booleano, opcional): true para detener la retrollamada del método. El valor devuelto es el último calculado.

En todos los casos, en el momento en que la función collection.every( ) encuentra el primer elemento de la colección que devuelve false en $1.result, deja de llamar a nomMet y devuelve false.

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

Con el siguiente método NumberGreaterThan0:

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

Este ejemplo prueba que todos los elementos de una colección son del tipo real:

 C_COLLECTION($c)
 $c:=New collection
 $c.push(5;3;1;4;6;2)
 $b:=$c.every("TypeLookUp";Is real//$b=true
 $c:=$c.push(New object("name";"Cleveland";"zc";35049))
 $c:=$c.push(New object("name";"Blountsville";"zc";35031))
 $b:=$c.every("TypeLookUp";Is real//$b=false

Con el siguiente método TypeLookUp:

 C_OBJECT($1)
 C_LONGINT($2)
 If(Value type($1.value)=$2)
    $1.result:=True
 End if



Ver también 

collection.some( )

 
PROPIEDADES 

Producto: 4D
Tema: Colecciones
Número 705246

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R6

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)