Les opérateurs de comparaison / 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 | Syntaxes | Opérandes | Résultat |
---|---|---|---|---|
Égalité |
== ou eq |
Syntaxes par défaut allType == allType allType eq allType Syntaxes Fonctionnelles ==(allType,allType) eq(allType,allType) |
Nombre d'opérandes : 2 | Résultat : boolean |
Inégalité |
!= ou neq |
Syntaxes par défaut allType != allType allType neq allType Syntaxes Fonctionnelles !=(allType,allType) neq(allType,allType) |
Nombre d'opérandes : 2 | Résultat : boolean |
Inférieur |
< ou lt |
Syntaxes par défaut number < number number lt number Syntaxes Fonctionnelles <(number,number) lt(number,number) |
Nombre d'opérandes : 2 | Résultat : boolean |
Inférieur ou égal |
<= ou lte |
Syntaxes par défaut number <= number number lte number Syntaxes Fonctionnelles <=(number,number) lte(number,number) |
Nombre d'opérandes : 2 | Résultat : boolean |
Supérieur ou égal |
>= ou gte |
Syntaxes par défaut number >= number number gte number Syntaxes Fonctionnelles >=(number,number) gte(number,number) |
Nombre d'opérandes : 2 | Résultat : boolean |
Supérieur |
> ou gt |
Syntaxes par défaut number > number number gt number Syntaxes Fonctionnelles >(number,number) gt(number,number) |
Nombre d'opérandes : 2 | Résultat : boolean |
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 150 and data:view.isPage'/>
Le résultat sera true
si la description contient plus de 150 caractères et si la page courante est une page autonome.
Les autres opérateurs
+ (concatenate)
+ (addition)
- (substraction)
* (multiplication)
/ (division)
% (modulus)?: (selector)
and (&&)
or (||)
not (!)eq (==)
neq (!=)
lt (<)
lte (<=)
gt (>)
gte (>=)appendParams
fragment
params
pathin
contains (array)contains (string)
format
limit / take
skip / offset
toresizeImage
sourceSetsnippet
any
all
none
count
map / select
filter / where
first