Opérateur d’éléments de liste (FPScript)

23.08.2021

Prend un élément ou plusieurs éléments d'une liste ou sélectionne un élément de liste auquel une nouvelle valeur doit être attribuée. L'opérateur peut également être utilisé pour accéder à un composant d'une structure de données agrégée.

Syntaxe

Expression.[Index]

ou

Expression.[de, à]

ou

Expression.Nom de l'élément

 

La syntaxe de l'opérateur d'éléments de liste se compose des éléments suivants :

Élément

Description

Expression

Une expression, qui décrit une variable, une formule ou un ensemble de données, appelle une fonction ou sélectionne un élément dans une liste, ou toute expression entre parenthèses.

Index

L'index de l'élément de liste basé sur zéro ou une chaîne de caractères avec le nom de l'élément de liste. Les indices négatifs sont autorisés et comptent à partir de la fin de la liste. Si Index est spécifié comme une valeur scalaire, l'élément de liste correspondant est transmis. Si Index est spécifié comme une série de données ou comme une chaîne scalaire avec le caractère générique ? ou *, une liste partielle est créée.

de

Spécifie l'indice du premier élément de liste d'une plage à indexer. Il doit s'agir d'une valeur scalaire intégrale réelle ou du type de données Empty.

à

Spécifie l'indice du dernier élément de liste d'une plage à indexer. Il doit s'agir d'une valeur scalaire intégrale réelle ou du type de données Empty.

Nom de l'élément

Le nom de l'élément de liste.

Remarques

Avec un indice scalaire, l'opérateur est également autorisé à gauche d'une opération d'affectation et sélectionne ensuite l'élément de liste auquel l'affectation doit être effectuée.

Vous pouvez concaténer l'opérateur pour accéder aux éléments de listes imbriquées.

Lorsque l'on accède à un élément de liste en utilisant le nom de l'élément, on cherche d'abord dans les noms des éléments de la liste elle-même. Si aucun nom d'élément n'est attribué, il recherche dans les informations d'en-tête attribuées aux différents éléments de la liste.

Si vous accédez à une formule qui contient une liste, en utilisant donc le format Formule.Nom de l'élément de l'opérateur, notez que les propriétés de la formule auxquelles on peut accéder de la même manière ont la priorité sur les éléments de la liste portant le même nom. Utilisez la syntaxe Formula.["ElementName"] de l'opérateur.

Lors de l'accès à un composant d'une structure de données agrégée, l'indice numérique COMPONENT_Y = 0 indexe le composant Y, l'indice COMPONENT_X = 1 indexe le composant X et l'indice COMPONENT_Z = 2 indexe le composant Z. Vous pouvez également utiliser les chaînes de caractères "Y", "X" et "Z". Il importe peu que la chaîne soit en majuscules ou en minuscules. Vous ne devez utiliser cette forme d'accès que si vous êtes en mesure de déterminer le composant auquel il faut accéder en premier lors de l'exécution. Sinon, utilisez l'opérateur de composants.

Les indices sont comptés à partir de zéro. Lesindices négatifs comptent à partir de la fin, c'est-à-dire que l'indice -1 correspond au dernier élément, -2 à l'avant-dernier élément, et ainsi de suite.

Si une valeur à virgule flottante est spécifiée pour l'un des arguments Index, from ou to, ses chiffres fractionnaires seront ignorés. Une valeur à virgule flottante invalide est interprétée comme 0. Si vous définissez from ou to comme une valeur avec le type de données Empty, elle correspond au premier ou au dernier élément de la liste.

Si Index est spécifié comme une chaîne scalaire et qu'il contient le caractère générique * et/ou ?, les motifs sont comparés. Dans ce cas, le caractère * représente toute chaîne de caractères et peut également être vide. ? représente tout caractère. Tous les éléments de la liste dont le nom correspond au modèle sont copiés dans la liste de résultats sans que leur ordre soit modifié. Le traitement n'est pas sensible à la casse.

Si l'indice est une quantité, alors il doit avoir la dimension SI 1 et il sera transformé en unité 1 avant l'indexation.

Disponible dans

FlexPro View, Basic, Professional, Developer Suite

Exemples

Pour les exemples suivants, on suppose qu'il existe une formule Liste qui contient la liste suivante : [<Element1> 1, <Nom> "2nd Element", 3 m, 4 cm].

Liste. [1n]

Retourne le "2e élément".

Liste. [-2n]

Retourne 3 m.

Liste.Élément 1

Rendement 1.

Liste.Nom

Renvoie "Liste" et non "2ème élément", puisque Name est une propriété d'objet de la formule.

Liste.["Nom"]

Retourne "2ème élément".

Var = Liste

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

Affecte une liste à deux éléments au troisième élément de la liste dans Var.

Var. [2n]. [1n]

Les retours 2.

signal.["y"]

ou

signal.[0n]

ou

signal.[COMPONENT_Y]

Renvoie la composante Y du signal.

Liste. [1 Pi]

Donne 4 cm, puisque l'unité Pi a la dimension SI 1 et que 1 Pi transformé à l'unité 1 donne la valeur 3,1415927.

Liste. [1, 2]

Renvoie une liste partielle avec le 2ème et le 3ème élément.

Liste. [{-1, 0}]

Renvoie le dernier et le premier élément de la liste.

Liste.["Actuel*"]

Renvoie tous les éléments de liste dont le nom commence par "Current".

 

Voir aussi

Structures de données

Opérateur de liste

Fonction ListElementName

Fonction PrimaryListElement

Affectation

Opérateur de composants

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :