Navigation

Opérateurs et logique DI#


Opérateurs de comparaison simples


Opérateurs simples
ExempleType de retourDescription
a == bÉgalTRUE si a est égal à b après le transtypage. 
a != bDifférentTRUE si a est différent de b après le transtypage.
a > bPlus petit queTRUE si a est strictement plus petit que b.
a<= bPlus petit ou égal àTRUE si a est plus petit ou égale à b.
a > bPlus grand queTRUE si a est strictement plus grand que b.
a >= bPlus grand ou égalTRUE si a est plus grand ou égale à b.

Contrairement à certains langages comme PHP, ces opérateurs ne peuvent être utilisés sur des types textuels. Ainsi, le DI# ne fait donc pas de comparaisons du style « ordre alphabétique » ou « if ("abc" < "bcd") » serait vrai par exemple.


Opérateurs de comparaison complexes

LIKE (ou son contraire NOT LIKE) :  L’opérateur LIKE permet d’effectuer une recherche sur un modèle particulier. Il est par exemple possible de rechercher si la valeur d’une chaîne de caractère commence par telle ou telle lettre.   

  • LIKE "%a" : le caractère « % » est un caractère joker qui remplace tous les autres caractères. Ainsi, ce modèle permet de rechercher toutes les chaînes de caractère qui se termine par un « a ». 
  • LIKE "a%" : ce modèle permet de rechercher toutes les lignes de « colonne » qui commence par un « a ». 
  • LIKE "%a%" : ce modèle est utilisé pour rechercher tous les enregistrements qui utilisent le caractère « a ».
  • LIKE "pa%on" : ce modèle permet de rechercher les chaînes qui commence par « pa » et qui se terminent par « on », comme « pantalon » ou « pardon ».

Note : Utiliser l’opérateur LIKE sans modèle sur une chaîne de caractère produit le même effet que d’utiliser l’opérateur égal == .

CONTAINS (ou son contraire NOT CONTAINS) : L’opérateur CONTAINS permet d’effectuer une recherche sur un modèle particulier. Il est par exemple possible de rechercher si la valeur est contenue dans une chaîne de caractères. 

Note : Utiliser l’opérateur CONTAINS sur une chaîne de caractère produit le même effet que d’utiliser l’opérateur LIKE avec ce modèle "%a%". Les opérateurs LIKE et CONTAINS ne s’appliquent que sur des chaînes de caractères. Autrement dit, il n’est pas possible d’utiliser CONTAINS pour savoir si une valeur est contenue dans un tableau par exemple.

IS NULL (ou son contraire IS NOT NULL) :  L’opérateur IS NULL permet de savoir si la variable contient une valeur.

string a = "ceci est un test";  output.write(a contains "ceci" ? true : false);
// Affiche True  
output.write(a like "ceci" ? true : false); // Affiche False output.write(a like"ceci%" ? true : false); // Affiche True
output.write(a is null ? true : false); // Affiche False

Opérateurs arithmétiques

Opérateurs supportés
ExempleNomRésultat
a + bAdditionSomme de a et b.
a - bSoustractionDifférence de a et b.
a * bMultiplicationProduit de a et b.
a / bDivisionQuotient de a et b.
a % bModuloReste de a divisé par b.

Note : la négation d’une valeur n’est pas supportée. Ainsi l’expression « -b » ne compilera pas. Ainsi une soustraction écrite ainsi « a - b » ne compilera pas également. Il est donc important de toujours laisser un espace entre l’opérateur de soustraction et la valeur. L’expression « a - b » compilera.


Opérateurs de tableaux

Opération unique

  • Ajouter un item à une position fixe :
    x[0] = 123; // ajouter l'entier 123 à la position 0 du tableau
  • Ajouter un item à la fin d’un tableau dynamique :
    x[] += "test"; // ajoute "test" à la fin du tableau
  • Supprimer un item d’un tableau dynamique :
    x[] -= "test"; // efface toutes les instances égales à "test" du tableau 

Opération en lot

  • Assigner plusieurs valeurs en une seule instruction :
    x = { "blue", "red", "green" };
    // x contient maintenant blue, red et green
    Attention, cette instanciation ne fonctionnera que si toutes valeurs passées sont bien du même type que le tableau, ici des chaînes de caractères.
  • Ajouter des éléments à la fin d’un tableau dynamique :
    x[] += { "blue", "pink", "blue" };
    // x contient maintenant blue, red, green, blue, pink et blue 
  • Effacer toutes les instances d’une ou plusieurs valeurs données d’un tableau dynamique :
    x[] -= { "blue", "pink"};
    // x contient maintenant red et green

Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.