prevnext   » Startseite » Haupt-Referenz » Funktions-Referenz » l$unique()

l$unique()

Elemente, die sich wiederholen, aus einer Liste entfernen.

Syntax:

int32 l$unique ( list_var )
int32 l$unique ( list_var, cmp_chars )
int32 l$unique ( list_var, cmp_chars, cmd_subelem )

Parameter:

list_var Die Funktion l$unique erwartetet (wie alle l$*() Funktionen) als ersten Parameter eine Referenz auf eine (ggf. indizierte) Variable. Diese Variable wird identisch zu list() zwangsweise in eine Liste gewandelt, um anschließend modifiziert zu werden.

Der Inhalt der Variable list_var wird nicht auf den Stack kopiert. Stattdessen wird direkt und damit effizient auf den Inhalt der Variable zugegriffen.

cmp_chars Anzahl der Zeichen als 32-Bit Ganzzahl, die maximal miteinander verglichen werden sollen.

Bei einem Vergleich von Zeichenketten werden maximal abs(cmp_chars) Zeichen am Anfang oder, falls cmp_chars<0, am Ende überprüft. Der Wert Null führt folgerichtig dazu, dass alle Zeichenketten als identisch angesehen werden.

Wurde dieser Parameter nicht angegeben, dann wird alles verglichen.

cmp_subelem Anzahl der Unterelemente als 32-Bit Ganzzahl, die maximal miteinander verglichen werden sollen.

Bei einem Vergleich von Elemente, die ihrerseits Listen sind, werden maximal abs(cmp_subelem) Elemente am Anfang oder, falls cmp_subelem<0, am Ende der Liste überprüft. Der Wert Null führt folgerichtig dazu, dass solche Daten als identisch angesehen werden.

Wurde dieser Parameter nicht angegeben, dann wird der Parameter cmp_chars verwendet.

Beschreibung:

Aus der Liste werden Duplikate entfernt. Es werden allerdings nur Duplikate erkannt, die direkt aufeinander folgen; ggf. muss die Liste vorher sortiert weden. Von den Duplikaten werden alle bis auf das erste (das Element mit dem kleinsten Index) aus der List entfernt. .

Mit den beiden Parametern cmp_chars und cmp_subelem kann für den Vergleich die maximale Anzahl der Zeichen einer Zeichenkette bzw. die maximale Anzahl der Unteerlemente einer Datenstruktur festgelegt werden. Damit können Zusatzinformationen eingebunden werden, die für das Erkennen der Duplikate unerheblich sind. Diese beiden Parameter werden aber nur auf die Elemente der ersten Ebene angewendet.

Funktionsergebnis:   INT32

Als Funktionsergebnis wird die Anzahl der entfernten Duplikate geliefert.

Siehe auch:
 unique()   l$sort()   l$sortLex() 

Weitere ähnliche Funktionen:

Listen
Funktion Kurzinfo
alignList()
bitField2list() Aus einem Bitfeld eine numerische Liste erzeugen.
catList() Eine Liste mit den Kopien der einzelnen Parameter erzeugen. Aus Listen und Maps werden alle Elemente einzeln kopiert.
flatList() Die komplette Listen- und/oder Map-Struktur in eine flache Liste überführen.
flatListNum() Die komplette Listen- und/oder Map-Struktur in eine flache Liste überführen und numerische Werte kopieren.
isList() Test, ob eine Variable mit gegebenen oder errechnetem Namen existiert und vom Typ LIST ist.
l$align()
l$append() Ein Element an das Ende einer Liste anfügen.
l$appendList()
l$bitField() Aus den numerischen Elementen einer Liste wird ein Bitfeld erzeugt.
l$cat() Eine Liste aus den einzelnen Parameter erzeugen. Aus Listen und Maps werden alle Elemente einzeln kopiert.
l$clear()
l$copy() Den Teilbereich einer Liste kopieren.
l$insert()
l$insertList()
l$isSorted() Ist eine Liste sortiert?
l$isSortModeLex() ist der Sortier-Modus einer Liste lexikalisch?
l$length() Die Anzahl der Elemente einer Liste bestimmen.
l$list()
l$move() Den Teilbereich einer Liste kopieren.
l$pack()
l$purge()
l$randomize()
l$remove() Elemente aus einer Liste entfernen.
l$replace()
l$replaceList()
l$reverse()
l$setLength()
l$setSize()
l$size()
l$sort()
l$sortLex()
l$unique() Elemente, die sich wiederholen, aus einer Liste entfernen.
len() Die Anzahl der Zeichen einer Zeichenkette bzw. die Anzahl der Elemente einer Liste oder einer Map bestimmen.
length() Die Anzahl der Zeichen einer Zeichenkette bzw. die Anzahl der Elemente einer Liste oder einer Map bestimmen.
list() Eine Liste mit den Kopien der einzelnen Parameter erzeugen.
list2()
randomize()
reverse()
unique() Elemente, die sich wiederholen, aus einer Liste entfernen.
vector() Eine Liste mit identischen bzw. inkrementierten Werten generieren.