Skip to main content
Skip table of contents

MM-Talk-Listenfunktionen

Liste.AddFirst[Objekt]→Liste

Resultat: Die Funktion AddFirst liefert eine neue Liste, wobei an deren Anfang das übergebene Objekt eingefügt wird.


Liste.AddLast[Objekt]→Liste

Resultat: Die Funktion AddLast liefert eine neue Liste, wobei an deren Ende das übergebene Objekt eingefügt wird.


Liste.Append[WeitereListen]→Liste

Resultat: Die Funktion Append liefert eine Liste, die eine Aneinanderkettung aller übergebenen Listen beinhaltet.

Beispiel: Append(List(1;2);List(4;3)) ergibt die Liste <1,2,4,3>.


ListeVonListen.Concatenate→Liste

Resultat: Bei der Funktion Concatenate werden ähnlich wie bei der Funktion Append Listen aneinandergefügt. Hier werden die aneinander zufügenden Listen in Form von Elementen einer Liste übergeben.

Beispiel

Concatenate(List(List(1;2);List(4;3))) ergibt Liste <1,2,4,3>.

Liste.Contains[Objekt]→Boolean

Resultat: Die Funktion Contains testet, ob die Liste das übergebene Objekt enthält. Sie liefert "Wahr", wenn das Objekt vorkommt, sonst den Wert "Falsch".


Liste.DeleteIf[Testfunktion;Selektorfunktion]→Liste

Liste.DeleteIfNot[Testfunktion;Selektorfunktion]→Liste

Selektorfunktion: vgl. Funktion Liste.Sort

Testfunktion: Eine einstellige Funktion, die einen Booleschen Wert liefern soll und als Testkriterium herangezogen wird.

Resultat: Die Funktionen DeleteIf und DeleteIfNot liefern die Teilliste aller Objekte, die das Testkriterium (für das Selektorfunktionsergebnis) erfüllen, bzw. (im Fall von DeleteIf) nicht erfüllen.

Beispiel

Wenn $Liste eine Liste von Buchungen ist, liefert $Liste.DeleteIf[#Buchung_Storniert] die Liste aller vorkommenden Buchungen, die nicht storniert sind.


EmptyList→Liste

Resultat: Die Funktion EmptyList liefert eine leere Liste.


Liste.Find[Testfunktion;Selektorfunktion]→Objekt

Selektorfunktion: vgl. Funktion Liste.Sort

Testfunktion: Eine einstellige Funktion, die einen Booleschen Wert liefern soll und als Testkriterium herangezogen wird.

Resultat: Die Funktion Find liefert das erste Objekt in der Liste, das das Testkriterium (für das Selektorfunktionsergebnis) erfüllt.


Beispiel

Beispiel: Wenn $Liste eine Liste von Buchungen ist, liefert $Liste.Find[#Buchung_Storniert] die erste stornierte Buchung der Liste.

Liste.First→Objekt

Resultat: Die Funktion First liefert das erste Element der Liste.


Liste.Fold[Funktion;Startwert]→Objekt

Resultat: Die <Funktion> wird nacheinander auf jedes Listenelement im zweiten Argument und dem vorherigen Funktionsergebnis (beim ersten Mal dem <Startwert>) im ersten Argument angewendet. Gesamtergebnis ist das Ergebnis der letzten Auswertung. Die Iteratorfunktion Fold ist sehr abstrakt und vielseitig, da die Zwischenergebnisse einen beliebigen Objekttyp haben können (z. B. Listen, Zeitreihen).

Beispiele

Beispiel 1: List(1;2;3).Fold[#Plus;0] liefert die Summe der Zahlen in der Liste, also (((0 + 1) + 2) + 3) = 6.

Beispiel 2: $Liste.Fold[#Append;EmptyList] fügt alle Listen zusammen, liefert also dasselbe wie $Liste.Concatenate.

Lesen Sie zu einem weiteren Beispiel den Abschnitt Die Funktion "Fold" in den Tipps und Tricks zu MM-Talk.



Liste.GroupBy[Gleichheitsfunktion;Selektorfunktion]→Liste(Liste)

Gleichheitsfunktion: Eine zweistellige Funktion auf den Selektorergebnissen, die einen Wahrheitswert liefern und entscheiden soll, ob zwei Listenelemente als gleich anzusehen sind. Default ist #Equal.

Selektorfunktion: vgl. Sort

Resultat: Die Funktion GroupBy liefert die jeweils gleichen Elemente der Ausgangsliste werden in Listen zusammengefasst und die Menge aller dieser Listen in einer Liste geliefert.


Beispiel

Beispiel Wenn $Liste eine Liste von Wertpapieren ist, liefert $Liste.GroupBy[_;#ISIN] eine Liste von Wertpapierlisten. Jede dieser Wertpapierlisten enthält die Wertpapiere zu genau einer ISIN und jedes Wertpapier aus $Liste ist in genau einer Wertpapierliste vorhanden.

Liste.IndexOf[Objekt]→Zahl

Resultat: Die Funktion IndexOf testet, ob die Liste das übergebene Objekt enthält. Sie liefert dann die Position des ersten Vorkommens beginnend bei 0 oder den Wert –1, falls das Objekt nicht vorkommt.


Liste.IsEmpty→Boolean

Resultat: Die Funktion IsEmpty testet, ob das Argument leer ist oder nicht. "Wahr" wird geliefert, falls eine leere Liste vorliegt.


Liste.Last→Objekt

Resultat: Die Funktion Last liefert das letzte Element der Liste.


Liste.Length→Zahl

Resultat: Die Funktion Length liefert die Länge der Liste.


Objekt.List[WeitereObjekte...]→Liste

Resultat: Die Funktion List liefert eine Liste, die alle übergebenen Objekte in der entsprechenden Reihenfolge beinhaltet.


n:Zahl.MakeList→Liste(Zahl)

Resultat: Die Funktion MakeList liefert die Liste der n Zahlen von 0 bis n-1.


Funktionsobjekt.Map[Listen...]→Liste

Listen: Eine Reihe von bis zu 5 Listen entsprechend der Anzahl von Argumenten, die das Funktionsobjekt benötigt.

Resultat: Mit der Funktion Map wird das Funktionsobjekt auf alle Listenelemente angewendet und die dabei entstehenden Ergebnisse werden in Form einer Liste geliefert. Die Elemente der n-ten Liste stellen dabei das n-te Argument der Funktion. Die Resultatliste ist genauso groß, wie die Listenparameter. Falls die Listenparameter unterschiedliche Länge haben, wird die längste Liste zugrunde gelegt; fehlende Listenelemente in den anderen Listen werden mit Defaultwerten aufgefüllt.

Beispiele

Beispiel 1: Wenn die Variablen $Liste1 und $Liste2 Listen von Zahlen beinhalten, ist der Ausdruck #Plus.Map[$Liste1;$Liste2] sinnvoll. Ergebnis wäre eine Liste, deren 1. Element die Summe der ersten Elemente von Liste1 und Liste2 ist, deren 2. Element die Summe der zweiten Elemente von Liste1 und Liste2 ist usw.

Beispiel 2: Wenn $Liste eine Liste von Wertpapieren beinhaltet, dann liefert der Ausdruck #Name.Map[$Liste] die Liste der Wertpapiernamen. Da Funktionen im Allgemeinen eine Listenerweiterung haben (was auch für #Name gilt), liefert der Ausdruck $Liste.Name dasselbe Ergebnis.


Liste.Nth[n:Zahl]→Objekt

Resultat: Die Funktion Nth liefert das n-te Element der Liste. Die Zählung beginnt bei 0.


Liste.RemoveDuplicates[Gleichheitsfunktion;Selektorfunktion]→Liste

Gleichheitsfunktion: Eine zweistellige Funktion auf den Selektorergebnissen, die einen Wahrheitswert liefern und entscheiden soll, ob zwei Listenelemente als gleich anzusehen sind. Default ist #Equal.

Selektorfunktion: s. Liste.Sort

Resultat: Die Funktion RemoveDuplicates liefert die Liste, bei der die doppelten Elemente entfernt wurden. Dabei werden im Fall von Doppeltvorkommen die vorderen Listenelemente beibehalten und die hinteren gelöscht.

Beispiel

Wenn $Liste eine Liste von Wertpapieren ist, liefert $Liste.RemoveDuplicates[_;#ISIN] eine Liste, in der zu jeder ISIN nur ein Wertpapierobjekt vorkommt.

Liste.Reverse→Liste

Resultat: Die Funktion Reverse liefert eine Liste, in der dieselben Elemente wie im Argument vorkommen, aber in umgekehrter Reihenfolge.


Liste.Sort[Vergleichsfunktion;Selektorfunktion]→Liste

Selektorfunktion: Ein Funktionsobjekt zu einer einstelligen Funktion, das zu den Listenelementen Objekte liefern soll, nach denen die Liste sortiert wird. Per Default wird hier die Funktion #Object verwendet, d. h., die Objekte selbst sind Argumente für die Vergleichsfunktion.

Vergleichsfunktion: Ein Funktionsobjekt, das die Sortierreihenfolge definiert, z. B. Greater oder Less. Die Vergleichsfunktion muss zwei Argumente des Typs erwarten, den die Selektorfunktion angewendet auf die Listenelemente liefert, und ein Boolean liefern.

Resultat: Die Funktion Sort liefert eine entsprechend sortierte Liste.

Beispiel

Wenn $Liste eine Liste von Wertpapieren ist, liefert $Liste.Sort[#Less;#Name] die Liste der Wertpapiere aufsteigend sortiert nach den Wertpapiernamen zurück.

Liste.SubList[VonPosition:Zahl;BisPosition:Zahl]→Liste

Resultat: Die Funktion SubList liefert die Teilliste ab Position <VonPosition> bis einschließlich Position <BisPosition>.


Objekt.ToList→Liste

Resultat: Falls das Objekt eine Liste ist, liefert die Funktion ToList die Liste selbst; sonst das Objekt in einer neuen, 1-elementigen Liste. Die Funktion dient dazu, sicherzustellen, dass ein Formelresultat eine Liste ist.


Objekt.Unique→Objekt

Resultat: Falls das Objekt eine Liste ist, die genau aus einem Element besteht, oder falls das Objekt keine Liste ist, wird mit der Funktion Unique dieses Element geliefert. Für leere Listen oder mehrelementige Listen liefert die Funktion einen Fehler.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.