Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19.8
collection.every( )

collection.every( ) 


 

collection.every ( {posicIniciar ;} nomeMet {; param {; param2 ; ... ; paramN}} ) -> Resultado 
Parâmetro Tipo   Descrição
posicIniciar  Inteiro longo in índice onde iniciar o teste
nomeMet  Texto in Nome do método a chamar para o teste
param  Expression in Parâmetros a apssar ao nomeMet
Resultado  Booleano in True se todos os elementos passaram o teste com sucesso

O método collection.every( ) devolve true se todos os elementos na coleção passaram com sucesso uma prova implementada no método nomMet passado.

De forma pré-determinada, collection.every( ) prova toda a coleção. Opcionalmente, pode passar em posicIni o índice do elemento desde o qual começaaa prova.

  • Se posicIni >= longitude da coleção, se devolve false, o que significa que a coleção não se prova.
  • Se posicIni < 0, o fim da coleção se considera como ponto de inicio do cálculo da posição ( posicIni :=posicIni +length).
  • Se posicIni = 0, se busca em toda a coleção (como padrão).

Em nomMet, passe o nome do método a usar para avaliar os elementos da coleção, junto com seus parâmetros em param (opcional). nomMet pode realizar qualquer prova, com ou sem os parâmetros. Este método recebe um parâmetro Object em $1 e deve definir $1.result como true para cada elemento que cumpra a prova.

nomMet recebe os parâmetros abaixo:

  • en $1.value: valor do elemento a avaliar
  • en $2: param
  • en $N...: param2...paramN

nomMet define os parâmetros abaixo:

  • $1.result (booleano): true se a avaliação do valor do elemento for exitosa, do contrário, é false.
  • $1.stop (booleano, opcional): true para deter a retrochamada do método. O valor devolvido é o último calculado.

Em todos os casos, no momento em que a função collection.every( ) encontrar o primeiro elemento da coleção que devolver false em $1.result, deixa de chamar a nomMet e devolve false.

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

Com o método abaixo NumberGreaterThan0:

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

Este exemplo prova que todos os elementos de uma coleção sejam do 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

Com o método abaixo TypeLookUp:

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



Ver também 

collection.some( )

 
PROPRIEDADES 

Produto: 4D
Tema: Coleções
Número 705246

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v16 R6

 
ARTICLE USAGE

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