position()

Zusammenfassung

Gibt aus einer Liste die Position des ersten Elements zurück, das mit Ihrem Suchkriterium übereinstimmt. In der einfachsten Form wird die Position des ersten Elements der Liste inList, das item entspricht, zurückgegeben. Sinnvoller ist es, zusätzlich einen Schlüssel anzugeben. Dabei handelt es sich um den Namen einer Funktion, der auf jeden Eintrag der Liste inList angewendet wird. Wenn kein Eintrag die Kriterien erfüllt, wird NoValue zurückgegeben.

Syntax

position ( item as Any, _
           inList As List, _
           Optional key As Any = :Identity ) As Any 
Argument Typ Beschreibung
item alle Der gesuchte Wert
inList Liste Liste der zu durchsuchenden Elemente. Nur das erste übereinstimmende Element wird zurückgegeben.
key Alle Optional. Kann entweder der Name einer Funktion oder der Wert einer Ganzzahl sein. Vorgabe ist :Identity. Bei Verwendung eines Funktionsnamens wird die Funktion für jedes Element der Liste aufgerufen. Die Funktion muss einen Wert zurückgeben, der mit item verglichen werden kann. Bei Verwendung eines Ganzzahl werts muss jedes Element der Liste selbst eine Liste sein. Der Wert steht für die Position in jeder Unterliste, die den Wert enthält, der mit item verglichen wird.

Beispiel 1

Eine Übereinstimmung
Intent >position(13, {11, 12, 13}) 
--> 3 
Hier stimmt der Ganzzahl wert 13 an Position 3 überein.

Beispiel 2

Keine Übereinstimmung gefunden
Intent >position(7, {4, 8, 2}) 
--> NoValue 
Hier stimmt der Ganzzahl wert 7 mit keinem Listenelement überein. Daher wird NoValue zurückgegeben.

Beispiel 3

Mithilfe einer key-Funktion
Intent >position(9, {{3, 6, 9}, {9, 5, 6}, {9, 1, 2}}, key := :first) 
--> 2 
In diesem Beispiel wird item nur mit dem ersten Eintrag jeder der in inList enthaltenen Listen verglichen. Beachten Sie, dass nur die Position der ersten Übereinstimmung zurückgegeben wurde.

Beispiel 4

Verwenden eines Ganzzahlschlüssels
Intent >position(42, { {"abc", 10}, {"def", 42}, {"ghi", 18} }, key := 2) 
--> 2 
Hier wird das zweite Element jeder Unterliste mit item verglichen. Es stimmt mit der 2. Unterliste überein.