Apprenez les bases de l’utilisation des tableaux et des objets dans l’éditeur d’expressions.
Il est essentiel de savoir quelles expressions utiliser pour manipuler des tableaux afin de travailler avec des données dans Tulip. Vous pouvez également utiliser des expressions pour décomposer des objets en différents types de données. Cela vous permet de vous concentrer sur des données spécifiques afin d’orienter votre processus dans une application.
Expressions avec des tableaux
Plusieurs types d’expressions remplissent différentes fonctions pour renvoyer des valeurs. Ces valeurs peuvent être une valeur unique ou un autre tableau. Elles peuvent également être du même type de données ou d’un type différent.
Certaines expressions utilisent des tableaux pour renvoyer des valeurs arithmétiques simples :
**array_max()**Renvoie la valeur maximale d’un tableau numérique donné.

**array_min()**Renvoie la valeur minimale d'un tableau numérique donné.

array_avg(): renvoie la moyenne d'un tableau numérique donné.


D'autres expressions utilisent l'écart-type pour renvoyer des valeurs.
**array_stdev_population()**Renvoie l'écart-type de la population d'un tableau numérique donné.

**array_stdev_sample()**Renvoie l'écart-type de l'échantillon d'un tableau numérique donné.


array_at_value_index Renvoiela valeur située à l'index donné dans la liste indiquée. Si l'index est hors limites, renvoie null.

L’une des expressions les plus couramment utilisées dans la plateforme Tulip est :
array_index_of() Renvoie l’index de la première occurrence de la valeur donnée dans le tableau donné. Si elle n’est pas trouvée, renvoie « -1 ».


Comme expliqué dans ce message de la communauté, vous pouvez utiliser array_index_of() pour déterminer un port COM sur un pilote série. Vous pouvez également l'utiliser pour les résultats de sortie de Connector afin de trouver un ordre de travail particulier.
**LEN()**Renvoie le nombre d’éléments d’un tableau.
Il existe également des expressions qui utilisent des tableaux pour déterminer des valeurs données, telles que :
**arraycontains()**Renvoie « true » si la valeur donnée figure dans le tableau indiqué, et « false » dans le cas contraire.


Les expressions suivantes utilisent des expressions régulières pour renvoyer des tableaux. Vous pouvez également utiliser cette fiche de référence pour comprendre les capacités et la syntaxe des expressions régulières.
regex_match(): renvoie un tableau contenant les correspondances avec l’expression régulière.


**regex_replace()**Renvoie un tableau modifié contenant les chaînes remplacées conformément à l'expression.


Enfin, vous pouvez combiner plusieurs tableaux de types de données similaires pour créer un nouveau tableau.
array_concat(): concatène un nombre quelconque de tableaux d'un même type en un seul tableau de ce type.


Expressions avec des objets
Les expressions utilisant des objets ont toutes la même fonction dans Tulip : collecter des données à partir d’un objet et les stocker dans un autre objet utilisant un type de données unique. Les expressions suivantes fonctionnent de manière similaire, en utilisant une clé (en-tête) donnée pour convertir un tableau d’objets en un tableau de base.
**map_to_boolean_list()**Convertit un tableau d’objets en un tableau de booléens pour la clé donnée.
**map_to_integer_list()**Convertit un tableau d’objets en un tableau d’entiers pour la clé donnée.
**map_to_number_list()**Convertit un tableau d'objets en un tableau de nombres pour la clé donnée.

**map_to_text_list()**Convertit un tableau d'objets en un tableau de chaînes de caractères pour la clé donnée.
Dans l’exemple ci-dessous, le tableau d’objets comporte quatre en-têtes de données par objet. Le déclencheur de bouton utilise la manipulation de données pour stocker les données de chaque clé (en-tête) dans des tableaux de variables respectifs (booléens, nombres, etc.).

L'utilisation de l'une des expressions map_to_text ci-dessus avec array_index_of() vous permet d'extraire des informations d'une fonction de connecteur Output.
{{snippet.Avez-vous trouvé ce que vous cherchiez ?}}

