Opérateurs

23.08.2021

Dans FPScript, vous pouvez utiliser une variété d'opérateurs, par exemple pour les opérations arithmétiques et logiques, les opérations de comparaison et de concaténation. Vous pouvez utiliser les opérateurs pour calculer des valeurs individuelles ou des ensembles de données entiers, des matrices de données, des signaux, des séries de signaux ou des courbes spatiales.

Prédominance des opérateurs

Si plusieurs opérateurs apparaissent dans une expression, chaque partie est évaluée et résolue dans un ordre prédéfini. Cet ordre est décrit comme la préséance des opérateurs. Vous pouvez passer outre la préséance des opérateurs en utilisant des parenthèses pour forcer l'évaluation de certaines parties d'une expression avant d'autres composants. Les opérations entre parenthèses sont toujours exécutées avant les opérations qui ne sont pas entre parenthèses. Toutefois, la préséance standard des opérateurs s'applique également à l'intérieur des parenthèses.

Si une expression contient des opérateurs de catégories différentes, ceux-ci sont évalués dans l'ordre indiqué ci-dessous. Tous les opérateurs de comparaison ont la même priorité, c'est-à-dire qu'ils sont évalués de gauche à droite dans leur ordre d'apparition. Les opérateurs arithmétiques et logiques sont évalués dans l'ordre suivant :

Description

Symbole

Conversion

Convertir en valeur booléenne

Valeur booléenne

Convertir en un nombre entier de 16 bits

Entier16

Convertir en un nombre entier de 32 bits

Integer32

Convertir en un nombre entier de 64 bits

Entier64

Conversion en valeur à virgule flottante 32 bits

Point flottant32

Conversion en valeur à virgule flottante de 64 bits

Point flottant64

Conversion en un nombre entier complexe de 16 bits

ComplexInteger16

Convertir en un nombre entier complexe de 32 bits

ComplexInteger32

Convertir en un nombre entier complexe de 64 bits

ComplexInteger64

Conversion en valeur complexe à virgule flottante de 32 bits

Point flottant complexe32

Conversion en valeur complexe à virgule flottante de 64 bits

Point flottant complexe64

Convertir en chaîne

Chaîne de caractères

Convertir en heure calendaire

CalendarTime

Convertir en période de temps

TimeSpan

Convertir l'unité

Unité

Convertir la quantité en valeur

Value

Arithmétique

Négation unaire

-

Exponentiation

^

Multiplication

*

Division

/

Reste de la division

%

Addition

+

Soustraction

-

Panneau opérationnel

#

Nombres complexes

Forme Composant réel

Real

Forme Composante imaginaire

Imag

Forme Nombre conjugué-complexe

*

Comparaison *

Moins de

<

Plus grand que

>

Inférieur ou égal à

<=

Supérieur ou égal à

>=

Égalité

==

Inégalité

<>

Logique

Négation binaire

~

Conjonction binaire

&

Exclusion binaire

XOr

Disjonction binaire

|

Négation logique *

Non

Conjonction logique *

Et

Disjonction logique *

Ou

Organisation des données

Concaténation

:

Multiplier

#

Numéro complexe de la forme

( , )

Offre groupée

{ , }

Série de données de formulaires

( , , )

Liste des formulaires

[ , ]

Accès aux données

Composant

.X .Y .Z

Propriété

.

Élément de liste

.[ ]

Index

[ , ] [[ , ]]

Indirection *

$$

Si la multiplication et la division apparaissent dans une expression, chaque opération est exécutée de gauche à droite dans l'ordre d'apparition. La même procédure s'applique lorsque l'addition et la soustraction ou la concaténation et la multiplication interviennent dans une expression.

Associativité

L'opérateur d'exponentiation est le seul opérateur qui soit associatif à droite. Cela signifie que plusieurs exponentiations sont traitées en séquence de droite à gauche. Tous les autres opérateurs sont traités de gauche à droite.

Traitement des expressions logiques

Une conjonction logique (opération booléenne ET), ou des séquences de celle-ci, ne sont évaluées que jusqu'à ce que le résultat soit défini, c'est-à-dire jusqu'à ce que la première expression donne FALSE. Il en va de même pour la disjonction logique (opération OU). Elles sont évaluées jusqu'à ce que la première expression donne le résultat VRAI. Ceci ne s'applique pas aux opérations logiques par bit.

Dans l'exemple suivant, Test(DataSet2) n'est appelé que lorsque Test(DataSet1) donne un résultat vrai. Si le résultat de Test(DataSet1) est FALSE, alors le résultat final de l'opération ET booléen est défini comme FALSE.

Si Test(DataSet1) et Test(DataSet2) alors
    ...
End

* Cet opérateur et tous les opérateurs de cette catégorie ne sont pas disponibles dans FlexPro View.

Partager l’article ou envoyer par mail :

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