4D v17.4

collection.some( )

Home

 
4D v17.4
collection.some( )

collection.some( )  


 

Die Funktion collection.some( ) gibt wahr zurück, wenn mindestens ein Element in der Collection den Test, angegeben in MethodenName, erfolgreich durchlaufen hat.

Standardmäßig testet collection.some( ) 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 -1 zurückgegeben, d.h. die Collection wird nicht getestet.
  • Ist StartAb < 0, wird es als Versatz vom Ende der Collection gewertet
  • 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.some( ) das erste Collection Element findet, das in $1.result wahr zurückgibt, stoppt sie das Aufrufen von MethodenName und gibt wahr zurück.

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

Der Code der Methode NumberGreaterThan0 lautet:

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



Siehe auch 

collection.every( )

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Collections

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v17)
4D Programmiersprache ( 4D v17.1)
4D Programmiersprache ( 4D v17.2)
4D Programmiersprache ( 4D v17.3)
4D Programmiersprache ( 4D v17.4)