Les opérateurs sont des fonctions spéciales définies en langage de programmation Verse pour effectuer des actions, telles que les actions mathématiques, sur leurs opérandes. Par exemple, dans l'expression 1 + 2, le + est un opérateur, et 1 et 2 sont deux opérandes.
Il existe trois formats d'opérateurs que vous verrez dans Verse :
Préfixe : il n'y a qu'un seul opérande et l'opérateur est situé avant l'opérande.
Infixe : il y a deux opérandes et l'opérateur est situé entre les opérandes.
Suffixe : il n'y a qu'un seul opérande, et l'opérateur est situé après l'opérande.
Sur cette page, nous décrivons tous les opérateurs que vous pouvez utiliser dans Verse, leur fonctionnement et leur ordre d'évaluation lorsqu'ils sont utilisés en combinaison avec d'autres opérateurs.
Liste complète des opérateurs et précédence des opérateurs
Lorsque plusieurs opérateurs sont utilisés dans la même expression, ils sont évalués en fonction de leur précédence, de la plus élevée à la plus faible. Consultez le tableau ci-dessous pour connaître tous les opérateurs intégrés dans Verse et leur précédence.
| Nom | Opérateur | Description | Format de l'opérateur | Précédence des opérateurs | Exemple |
|---|---|---|---|---|---|
Query (requête) |
| L'opérateur | postfix (suffixe) | 9 |
|
Non |
| L'opérateur | Préfixe | 8 |
|
Positif |
| Vous pouvez utiliser l'opérateur | Préfixe | 8 |
|
Négatif |
| Vous pouvez utiliser l'opérateur | Préfixe | 8 |
|
Multiplication |
| L'opérateur | infix (infixe) | 7 |
|
Division |
| L'opérateur | infix (infixe) | 7 |
|
Addition |
| L'opérateur | infix (infixe) | 6 |
|
Soustraction |
| L'opérateur | infix (infixe) | 6 |
|
Assignation de l'addition |
| Cet opérateur vous permet de combiner l'addition et l'affectation dans la même opération pour mettre à jour la valeur d'une variable. Consultez la rubrique Math pour en savoir plus. | infix (infixe) | 5 |
|
Affectation de soustraction |
| Cet opérateur vous permet de combiner la soustraction et l'affectation dans la même opération pour mettre à jour la valeur d'une variable. Consultez la rubrique Math pour en savoir plus. | infix (infixe) | 5 |
|
Affectation de multiplication |
| Cet opérateur vous permet de combiner la multiplication et l'affectation dans la même opération pour mettre à jour la valeur d'une variable. Consultez la rubrique Math pour en savoir plus. | infix (infixe) | 5 |
|
Assignation de la division |
| Cet opérateur vous permet de combiner la division et l'affectation dans la même opération pour mettre à jour la valeur d'une variable, à moins que la variable soit un nombre entier. Consultez la rubrique Math pour en savoir plus. | infix (infixe) | 5 |
|
Égal à |
| L'opérateur | infix (infixe) | 4 |
|
Différent de |
| L'opérateur | infix (infixe) | 4 |
|
Inférieur à |
| L'opérateur | infix (infixe) | 4 |
|
Inférieur ou égal à |
| L'opérateur | infix (infixe) | 4 |
|
Supérieur à |
| L'opérateur | infix (infixe) | 4 |
|
Supérieur ou égal à |
| L'opérateur | infix (infixe) | 4 |
|
Et |
| L'opérateur | infix (infixe) | 3 |
|
Ou |
| L'opérateur | infix (infixe) | 2 |
|
Initialisation des variables et des constantes |
| Cet opérateur permet de stocker des valeurs dans une constante ou une variable. Consultez la rubrique Constantes et variables pour en savoir plus. | infix (infixe) | 1 |
|
Affectation de variables |
| Cet opérateur permet de mettre à jour les valeurs stockées dans une variable. Consultez la rubrique Constantes et variables pour en savoir plus. | infix (infixe) | 1 |
|
S'il existe des opérateurs avec la même précédence dans la même expression, ils sont alors évalués de gauche à droite. Par exemple, dans l'expression 3*2/4, étant donné que les opérateurs * et / ont la même précédence, 3*2 est évalué en premier et son résultat devient l'opérande gauche de l'opérateur /.
Vous pouvez changer l'ordre d'évaluation des opérateurs en regroupant les expressions avec (). Par exemple, (1+2)*3 et 1+(2*3) n'évaluent pas le même résultat. Consultez la rubrique Regroupement pour en savoir plus.
Comparaison
Vous pouvez contrôler le flux de réussite et d'échec avec des expressions de comparaison, qui utilisent les opérateurs d'inégalité et d'égalité. Dans la mesure où les expressions de décision sont faillibles, vous ne pouvez utiliser les opérateurs de comparaison que dans des contextes d'échec, notamment dans les expressions if.
Le tableau ci-dessous décrit chaque opérateur et les types qu'il prend en charge. Tous les opérateurs de comparaison utilisent le format infixe.
| Opérateur | Types intégrés pris en charge | Description |
|---|---|---|
|
| L'opérateur |
|
| L'opérateur |
|
| L'opérateur |
|
| L'opérateur |
|
| L'opérateur |
|
| L'opérateur |
<> et = sont également pris en charge par les instances de matrice, mappage, tuple et classe, mais avec des restrictions. Les instances de matrice, mappage et tuple ne peuvent contenir que des types pris en charge, et les instances de classe ne sont prises en charge que si elles contiennent au moins un membre var.
Décision
Vous pouvez contrôler le flux de réussite et d'échec avec des expressions de décision, qui utilisent les opérateurs not, and et or. Dans la mesure où les expressions de décision sont faillibles, vous ne pouvez utiliser les opérateurs de comparaison que dans des contextes d'échec, notamment dans les expressions if. Vous pouvez utiliser toutes les expressions qui réussissent ou échouent avec les opérateurs de décision.
Opérateur Not
L'opérateur de décision not inverse la réussite ou l'échec d'une expression. L'opérateur not utilise le format préfixe.
Par exemple, si expression échoue, l'expression not réussit. Lorsque l'expression réussit, l'expression not échoue et les effets de expression ne sont jamais validés (comme si l'expression n'avait jamais existé).
Par exemple, après l'exécution du code suivant, Example a toujours la valeur initiale 0 :
var Example : int = 0
if (not (set Example = ExampleArray[0])) { … }Vous pouvez utiliser not not expression comme moyen de vérifier si une expression va réussir, mais faire en sorte que l'expression n'ait jamais lieu.
| Résultat de l'expression p | Résultat de l'expression not p | Résultat de l'expression not not p |
|---|---|---|
L'expression réussit et le résultat est | L'expression échoue et les effets de | L'expression réussit, mais les effets de |
L'expression échoue et le résultat n'a pas de valeur | L'expression réussit. Le résultat de l'expression est | L'expression échoue. Le résultat de l'expression n'a pas de valeur. |
Référence pour l'opérateur not évaluant une expression, représentée par p.
Opérateurs And/Or
L'opérateur de décision and utilise le format infixe. Il s'agit d'une expression faillible qui réussit si les deux opérandes réussissent, ou qui échoue si au moins un opérande échoue.
L'opérateur de décision or utilise le format infixe et est :
un contexte d'échec pour le premier opérande ;
une expression faillible uniquement si le second opérande est faillible.
L'opérateur or n'effectue pas d'évaluation du second opérande si le premier opérande réussit.
Le tableau ci-dessous décrit les résultats de toutes les combinaisons d'opérandes de réussite et d'échec pour les expressions de décision utilisant les opérateurs and et or.
| Résultat de l'expression p | Résultat de l'expression q | Résultat de l'expression p and q | Résultat de l'expression p or q |
|---|---|---|---|
L'expression réussit et le résultat est | L'expression réussit et le résultat est | Étant donné que l'expression réussit, les effets de | L'expression réussit, et seuls les effets de |
L'expression réussit et le résultat est | L'expression échoue et le résultat n'a pas de valeur | L'expression échoue et les effets de | L'expression réussit, et seuls les effets de |
L'expression échoue et le résultat n'a pas de valeur | L'expression réussit et le résultat est | L'expression échoue et les effets de | L'expression réussit, et seuls les effets de |
L'expression échoue et le résultat n'a pas de valeur | L'expression échoue et le résultat n'a pas de valeur | L'expression échoue et les effets de | L'expression échoue et les effets de |
Référence pour les opérateurs and et or évaluant des expressions, représentées par p et q.
Math
Les expressions mathématiques vous permettent d'exécuter les quatre opérations mathématiques élémentaires (addition, soustraction, multiplication et division) avec des valeurs numériques, et d'additionner des chaînes. Tous les opérateurs utilisent le format infixe, hormis + et -, qui peuvent aussi être un préfixe pour les valeurs numériques.
Il existe également des opérateurs d'assignation, par exemple, set X += 10. C'est presque la même chose que d'effectuer l'opération, puis d'affecter le résultat, set X = X + 10, la différence étant que le X dans ce cas n'est évalué qu'une seule fois. Le résultat d'un opérateur d'affectation est la valeur utilisée pour mettre à jour la variable.
Le tableau ci-dessous décrit chaque opérateur et les types qu'il prend en charge.
| Opérateur | Types intégrés pris en charge | Description |
|---|---|---|
|
| L'opérateur |
|
| L'opérateur |
|
| L'opérateur |
|
| L'opérateur |
|
| Cet opérateur vous permet de combiner l'addition et l'affectation dans la même opération pour mettre à jour la valeur d'une variable. |
|
| Cet opérateur vous permet de combiner la soustraction et l'affectation dans la même opération pour mettre à jour la valeur d'une variable. |
|
| Cet opérateur vous permet de combiner la multiplication et l'affectation dans la même opération pour mettre à jour la valeur d'une variable. |
|
| Cet opérateur vous permet de combiner la division et l'affectation dans la même opération pour mettre à jour la valeur d'une variable, à moins que la variable soit un nombre entier. Pour en savoir plus sur la division des nombres entiers, consultez la rubrique int. |
Query (requête)
Les expressions de requête utilisent l'opérateur ? (query) et vérifier si une valeur logique est true. Sinon, l'expression échoue. L'opérateur ? (requête) utilise le format suffixe.
| Résultat de l'expression p | Résultat de l'expression p ? |
|---|---|
| L'expression réussit et le résultat est |
| L'expression échoue et le résultat n'a pas de valeur. |
Référence pour l'opérateur ? opérateur (requête) évaluant les expressions, représenté par p.
Par exemple :
if (IsMorning?):
Say("Good Morning!")