Les opérateurs de comparaison [== != < <= > >=]

Nous vous rappelons que lorsque vous accédez à ce blog, vous signez automatiquement un accord avec Blogger Code.
Consultez les CGU.


Blogger - Comparison operators
Les opérateurs de comparaison ont la particularité de vérifier l'équivalence de deux valeurs. Le résultat renvoie une valeur booléenne.


Liste des opérateurs

Noms Opérateurs Opérandes Syntaxe par défaut Syntaxe fonctionnelle Résultat
Égalité == 2 allType == allType ==(allType,allType) boolean
eq allType eq allType eq(allType,allType)
Inégalité != allType != allType !=(allType,allType)
neq allType neq allType neq(allType,allType)
Inférieur < number < number <(number,number)
lt number lt number lt(number,number)
Inférieur ou égal <= number <= number <=(number,number)
lte number lte number lte(number,number)
Supérieur ou égal >= number >= number >=(number,number)
gte number gte number gte(number,number)
Supérieur > number > number >(number,number)
gt number gt number gt(number,number)

  • Les opérateurs renvoie toujours un résultat booléen.
  • Les deux opérandes à comparer doivent être du même type.
    • string opérateur string
    • boolean opérateur boolean
    • number opérateur number
  • Les opérateurs d'égalité et d’inégalité peuvent aussi comparer les tableaux array[string], array[boolean] et array[number] à condition que les 2 tableaux soient de même type.
  • Les tableaux d'objets et les objets renvoient toujours une valeur null. La valeur sera vraie uniquement si les 2 tableaux ou objets contiennent la même quantité de sets ou d'items.
  • Les opérandes à comparer peuvent être :
    • Une valeur explicite
    • Une donnée
    • Le résultat d'une expression Blogger (une opération imbriquée)
  • L'opération peut être imbriquée dans une autre opération qui accepte une valeur de type boolean.


Quelques exemples

Égalité
<b:eval expr='data:view.search.label == data:blog.pageName'/>
Le résultat de l'opération sera : true si le nom du libellé est le nom de la page courante.
inégalité
<b:eval expr='data:view.type != "item"'/>
Le résultat de l'opération sera : true si la page courante n'est pas de type "item" (n'est pas un article ou une page autonome).
Inférieur ou égal à
<b:eval expr='data:posts.size lte 10'/>
Le résultat de l'opération sera : true si le nombre de posts est inférieur ou égal à 10.
Imbrication dans une opération Lambda
<b:eval expr='data:posts count (p => p.date.year eq 2018)'/>
Le résultat de l'opération sera le nombre de posts publiés en 2018.
Imbrication dans une opération ternaire
<b:eval expr='data:view.search.label == "Photos" ? "Vous êtes dans la catégorie Photos" : "Vous n'êtes pas dans la catégorie Photos"'/>
L'opération affichera l'une des 2 valeurs définies dans les 2e et 3e opérandes.
Imbrication dans une opération logique
<b:eval expr='data:view.description.size gte 200 and data:view.isPage'/>
Le résultat sera true si la description contient plus de 200 caractères et si la page courante est une page autonome.


Syntaxe fonctionnelle

Une syntaxe fonctionnelle est une alternative que l'on peut utiliser lorsque la syntaxe standard contient plusieurs fois le même opérateur.
L'usage de cette alternative ne se justifie pas vraiment avec les opérateurs de comparaison parce qu'il n'y a que 2 opérandes.

==(allType,allType)

!=(allType,allType)

gt(number,number)

gte(number,number)

lt(number,number)

lte(number,number)


Les autres opérateurs

Fiches populaires cette semaine

Facebook : Plugin Page