Listenelementoperator (FPScript)

23.08.2021

Entnimmt eines oder mehrere Elemente aus einer Liste bzw. selektiert ein Listenelement, dem ein neuer Wert zugewiesen werden soll. Der Operator kann auch zum Zugriff auf eine Komponente einer zusammengesetzten Datenstruktur verwendet werden.

Syntax

Ausdruck.[Index]

oder

Ausdruck.[von, bis]

oder

Ausdruck.Elementname

 

Die Syntax des Listenelementoperators besteht aus folgenden Teilen:

Teil

Beschreibung

Ausdruck

Ein Ausdruck, der eine Variable, eine Formel oder einen Datensatz bezeichnet, eine Funktion aufruft oder ein Element aus einer Liste selektiert oder ein beliebiger Ausdruck in Klammern.

Index

Der Null-basierte Index des Listenelementes oder eine Zeichenkette mit dem Namen des Listenelementes. Negative Indizes sind erlaubt und zählen vom Ende der Liste her. Wenn Index als Einzelwert angegeben wird, dann wird das entsprechende Listenelement übergeben. Wird Index als Datenreihe oder als skalare Zeichenkette mit den "Wildcard"-Zeichen '?' oder '*' angegeben, dann wird eine Teilliste gebildet.

von

Gibt den Index des ersten Listenelementes eines zu indizierenden Bereichs an. Muss ein reeller ganzzahliger Einzelwert oder vom Datentyp Leer sein.

bis

Gibt den Index des letzten Listenelementes eines zu indizierenden Bereichs an. Muss ein reeller ganzzahliger Einzelwert oder vom Datentyp Leer sein.

Elementname

Der Name des Listenelementes.

Anmerkungen

Mit einem skalaren Index ist der Operator ist auch auf der linken Seite einer Zuweisung erlaubt und selektiert dann das Listenelement, an welche die Zuweisung erfolgen soll.

Sie können den Operator verketten, um auf Elemente von geschachtelten Listen zuzugreifen.

Beim Zugriff auf ein Listenelement über den Elementnamen wird dieser bevorzugt in den Elementnamen der Liste selbst gesucht. Wenn keine Elementnamen zugeordnet sind, wird in den den einzelnen Listenelementen zugeordneten Kopfinformationen gesucht.

Wenn Sie auf eine Formel zugreifen, die eine Liste enthält, und dabei die Form Formel.Elementname des Operators verwenden, dann müssen Sie beachten, dass die Eigenschaften der Formel, auf die auf gleiche Weise zugegriffen werden kann, Vorrang vor gleichnamigen Listenelementen haben. Verwenden Sie dann die Syntax Formel.["Elementname"] des Operators.

Beim Zugriff auf eine Komponente einer zusammengesetzten Datenstruktur indiziert der numerische Index COMPONENT_Y = 0 die Y-Komponente, der Index COMPONENT_X = 1 die X-Komponente und der Index COMPONENT_Z = 2 die Z-Komponente. Alternativ können Sie auch die Zeichenketten "Y", "X" und "Z" verwenden. Die Groß- und Kleinschreibung spielt hierbei keine Rolle. Sie sollten diese Form des Zugriffs nur dann verwenden, wenn Sie die Komponente, auf die der Zugriff erfolgen soll, erst zur Laufzeit bestimmen können. Verwenden Sie ansonsten den Komponentenoperator.

Die Indizes werden mit Null beginnend gezählt. Negative Indizes zählen vom Ende her, d. h. der Index -1 entspricht dem letzten Element, -2 dem vorletzten und so weiter.

Wenn Sie für eines der Argumente Index, von oder bis einen Fließkommawert angeben, so werden dessen Nachkommastellen ignoriert. Ein ungültiger Fließkommawert wird als 0 interpretiert. Wenn Sie von bzw. bis als Wert mit Datentyp Leer einsetzen, entspricht dies dem ersten bzw. letzten Element in der Liste.

Wenn Index als skalare Zeichenkette angegeben wird und diese die "Wildcard"-Zeichen * und/oder ? enthält, dann wird ein Mustervergleich durchgeführt. Das *-Zeichen steht hierbei für eine beliebige Zeichenfolge inklusive der leeren Zeichenfolge und das ?-Zeichen für ein einzelnes beliebiges Zeichen. Es werden alle Listenelemente, auf deren Elementnamen das Muster passt, in unveränderter Reihenfolge in die Ergebnisliste übernommen. Die Groß-/Kleinschreibung wird ignoriert.

Ist Index eine Größe, dann muss diese die SI-Dimension 1 haben und wird vor der Indizierung auf die Einheit 1 transformiert.

Verfügbarkeit

FlexPro View, Basic, Professional, Developer Suite

Beispiele

Für die folgenden Beispiele wird angenommen, dass eine Formel Liste existiert, die folgende Liste enthält: [<Element1> 1, <Name> "2. Element", 3 m, 4 cm].

Liste.[1n]

Liefert "2. Element".

Liste.[-2n]

Liefert 3 m.

Liste.Element1

Liefert 1.

Liste.Name

Liefert "Liste" und nicht "2. Element" da Name eine Objekteigenschaft von Formeln ist.

Liste.["Name"]

Liefert "2. Element".

Var = Liste

Var.[2n] = [1, 2]

Weist dem dritten Element der Liste in Var eine Liste mit zwei Elementen zu.

Var.[2n].[1n]

Liefert 2.

Signal.["y"]

oder

Signal.[0n]

oder

Signal.[COMPONENT_Y]

Liefert die Y-Komponente des Signals.

Liste.[1 Pi]

Liefert 4 cm weil die Einheit Pi die SI-Dimension 1 hat und weil 1 Pi transformiert auf die Einheit 1 den Wert 3.1415927 und abgerundet 3 ergibt.

Liste.[1, 2]

Liefert eine Teilliste mit dem 2. und 3. Element.

Liste.[{-1, 0}]

Liefert das letzte und das erste Listenelement.

Liste.["Strom*"]

Liefert alle Listenelemente, deren Namen mit "Strom" anfangen.

 

Siehe auch

Datenstrukturen

Listenoperator

ListElementNames-Funktion

PrimaryListElement-Funktion

Zuweisung

Komponentenoperator

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren