Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
collection.every( )

collection.every( ) 


 

collection.every ( {StartAb ;} MethodenName {; param {; param2 ; ... ; paramN}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
StartAb  Lange Ganzzahl in Index zum Starten des Tests
MethodenName  Text in Name der Methode zum Aufrufen des Tests
param  Ausdruck in Parameter zum Übergeben an MethodenName
Funktionsergebnis  Boolean in Wahr, wenn alle Elemente den Test erfolgreich durchlaufen haben

Die Funktion collection.every( ) gibt wahr zurück, wenn alle Elemente in der Collection den Test, angegeben in MethodenName, erfolgreich durchlaufen haben.

Standardmäßig testet collection.every( ) die gesamte Collection. Optional können Sie in StartAb den Index des Elements übergeben, ab dem der Test starten soll.

  • Ist StartAb >= Länge der Collection, wird falsch zurückgegeben, d.h. die Collection wird nicht getestet.
  • Ist StartAb < 0, wird es als Versatz vom Ende der Collection gewertet (StartAb:=StartAb+Länge).
  • Ist StartAb = 0, wird die gesamte Collection getestet (Standard).

In MethodenName übergeben Sie den Namen der Methode zum Bewerten der Collection Elemente, zusammen mit den Parametern in param (optional). MethodenName kann jeden Test mit oder ohne die Parameter durchführen. Diese Methode empfängt einen Parameter Object in $1 und muss $1.result für jedes Element, das den Test erfüllt, auf wahr setzen.

MethodenName empfängt folgende Parameter:

  • in $1.value: Elementwert zum Bewerten
  • in $2: param
  • in $N...: param2...paramN

MethodenName setzt folgende Parameter:

  • $1.result (boolean): wahr, bei erfolgreicher Bewertung des Elementwerts, sonst falsch.
  • $1.stop (boolean, optional): wahr, um Aufruf der Methode zu stoppen. Der zurückgegebene Wert ist der letzte bewertete Wert.

In allen Fällen gilt: An der Stelle, wo die Funktion collection.every( ) das erste Collection Element findet, das in $1.result falsch zurückgibt, stoppt sie das Aufrufen von MethodenName und gibt falsch zurück.

 C_COLLECTION($c)
 $c:=New collection
 $c.push(5;3;1;4;6;2)
 $b:=$c.every("NumberGreaterThan0") //gibt wahr zurück
 $c.push(-1)
 $b:=$c.every("NumberGreaterThan0") //gibt falsch zurück

Der Code der Methode NumberGreaterThan0 lautet:

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

Dieses Beispiel testet, ob alle Elemente einer Collection vom Typ Zahl sind:

 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

Der Code der Methode TypeLookUp lautet:

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



Siehe auch 

collection.some( )

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Collections
Nummer: 705246

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v16 R6

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)