Les opérateurs Blogger / Blogger operators [introduction]
![Les opérateurs Blogger / Blogger Operators [introduction]](https://3.bp.blogspot.com/-N9BGMe5wAIo/XGBozQKBstI/AAAAAAAADC0/AZfN3cYRrTc_r-OOuuMwRYdtS46WXrVCwCKgBGAs/s600/intro.jpg)
Les opérateurs Blogger sont utilisés dans les expressions pour effectuer des opérations arithmétiques, comparer des valeurs, traiter des tableaux, etc...
Avantages des opérateurs Blogger
Les opérateurs Blogger sont très similaires à d'autres opérateurs utilisés dans des langages de programmation comme Javascript.Les habitués de ces langages s'y retrouveront aisément et les débutants ou amateurs prendront un immense plaisir à évoluer dans ce monde.
Le catalogue Blogger n'est pas aussi étoffé que les autres langages, mais en tant que petit poucet, on peut lui attribuer plusieurs avantages :
- Traitement de l'api XML
- Temps d’exécution imperceptible aux yeux des visiteurs.
- Ne laisse aucune trace sur le web. Seule la valeur du résultat de l'opération s'affiche dans le rendu HTML.
- ...
- Nombre de combinaisons très élevé.
- Imbrication des expressions
- Paramètres additionnels des données
- Traitement ou/et création de tableaux
- Données triées par type - A chaque type son opérateur et à chaque opérateur son type
- Usage d'une syntaxe alternative simplifiée
- Permet de réduire le poids du fichier XML
- ...
Opérateur de concaténation
L'opérateur de concaténation a la particularité de relier une chaîne de caractères à une valeur du même type ou d'un type différent...En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|---|
Concaténation | + |
no limit ? | string + allType |
+(string,allType) |
string |
allType + string |
+(allType,string) |
Opérateurs de comparaison
Les opérateurs de comparaison ont la particularité de vérifier l'équivalence de deux valeurs. Le résultat renvoie une valeur booléenne.En savoir plus
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 arithmétiques
Les opérateurs arithmétiques permettent de créer des opérations mathématiques entre plusieurs nombres. Le résultat renvoie une valeur numérique.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|---|
Addition | + |
no limit ? | number + number |
+(number,number) |
number |
Soustraction | - |
number - number |
-(number,number) |
||
Multiplication | * |
number * number |
*(number,number) |
||
Division | / |
number / number |
/(number,number) |
||
Modulo | % |
number % number |
%(number,number) |
L'opérateur de contenu
L'opérateur de contenu a la particularité de comparer une section d'une chaîne de caractères à une chaîne de caractères. Le résultat renvoie une valeur booléenne.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|---|
Contient | contains |
2 | string contains string |
contains(string,string) |
boolean |
Les opérateurs logiques
Les opérateurs de logiques comparent des valeurs booléennes dont le résultat renvoie une valeur booléenne.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|---|
ET | && |
no limit ? | boolean && boolean |
&&(boolean,boolean) |
boolean |
and |
boolean and boolean |
and(boolean,boolean) |
|||
OU | || |
boolean || boolean |
||(boolean,boolean) |
||
or |
boolean or boolean |
or(boolean,boolean) |
|||
N'est pas | ! |
1 | !boolean |
||
not |
not boolean |
Les opérateurs membres
Les opérateurs membres ont la particularité de vérifier l'équivalence d'une valeur à une valeur contenue dans un tableau. Le résultat renvoie une valeur booléenne.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Résultat |
---|---|---|---|---|
Dans | in |
2 | string in array[string] |
boolean |
boolean in array[boolean] |
||||
number in array[number] |
||||
Contient | contains |
array[string] contains string |
||
array[boolean] contains boolean |
||||
array[number] contains number |
Les sélecteurs
Les sélecteurs ternaires et binaires sont des opérateurs utilisant respectivement trois et deux opérandes. Le résultat est un choix parmi 2 valeurs.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Résultat |
---|---|---|---|---|
Ternaire | ? : |
3 | boolean ? value1 : value2 |
value1 ou value2 |
Binaire | ?: |
2 | value1 ?: value2 |
Les opérateurs de tableaux
Les opérateurs de tableaux permettent de contrôler le résultat de sortie d'un tableau.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Résultat |
---|---|---|---|---|
Jusqu'à | take |
2 | array take number |
array |
limit |
array limit number |
|||
A partir de | Skip |
array skip number |
||
offset |
array offset number |
|||
Plage de nombres | to |
number to number |
array[number] |
Les opérateurs lambdas
Les opérateurs Lambdas permettent de traiter des tableaux en fonction de critères contenus dans ces tableaux.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Résultat |
---|---|---|---|---|
Au moins 1 | any |
2 | array any (var => boolean) |
boolean |
Tout | all |
array all (var => boolean) |
||
Aucun | none |
array none (var => boolean) |
||
Compteur | count |
array count (var => boolean) |
number | |
Map | map |
array map (var => criterion) |
array[criterion] | |
select |
array select (var => criterion) |
|||
Filtre | filter |
array filter (var => boolean) |
array | |
where |
array where (var => boolean) |
|||
Premier | first |
array first (var => boolean) |
Child type of the array |
Les opérateurs d'images
Les opérateurs d'images permettent d'appliquer des caractéristiques aux URLs des images.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|
Redimensionner | resizeImage |
2 ou 3 | resizeImage(image,number,string) |
image |
Images réactives | sourceSet |
sourceSet(image,array[number],string) |
string |
Les opérateurs d'URLs
Les opérateurs d'URLs ont la particularité de traiter une url en y ajoutant ou en y remplaçant des caractéristiques.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|---|
Nouveau chemin | path |
2 | URL path string |
path(URL,string) |
string |
Remplacer les paramètres | params |
URL params object |
params(URL,object) |
||
Ajouter des paramètres | appendParams |
URL appendParams object |
appendParams(URL,object) |
||
Ajouter/Remplacer un fragment | fragment |
URL fragment string |
fragment(URL,string) |
L'opérateur de dates
L'opérateur de dates à la particularité de personnaliser le format d'une date à l'aide du formatage ICU.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|---|
Format | format |
2 | date format string |
format(date,string) |
date |
L'opérateur d'extraits
L'opérateur d'extraits a la particularité d'appliquer des caractéristiques à une chaîne de caractères.En savoir plus
Noms | Opérateurs | Opérandes | Syntaxe par défaut | Syntaxe fonctionnelle | Résultat |
---|---|---|---|---|---|
Créer un extrait | snippet |
2 | string snippet object |
snippet(string,object) |
string |
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.La syntaxe fonctionnelle travaille avec la plupart des opérateurs. Consultez le tableau ci-dessus.
Syntaxe standard
value operator value
Syntaxe fonctionnelle
operator(value,value,value)
Tous les types de valeurs sont autorisés.
Les opérandes peuvent être :
- Une valeur explicite
- Une donnée
- Le résultat d'une opération qui a été reportée dans une variable.
Exemple avec 2 opérandes
and(data:view.isPost, data:blog.isPrivate)
Exemple avec plusieurs opérandes
+(3,5,9,100)
Exemple avec une opération imbriquée
+(3,5,9,(100*5))
Limitation
40 jetons maximum sont attribués à la valeur contenue dans un attribut d'expression.Lorsque ce quota est épuisé, l'expression ne travaillera plus. Selon les cas, un commentaire peut s'afficher dans le code source du blog à l'emplacement où aurait dû s'afficher le contenu.
- Consommation des jetons :
- 1 jeton par opérande.
- 1 jeton par opérateur.
- 1 jeton par tableau.
- 1 jeton par objet.
- 1 jeton par item contenu dans un tableau.
- 1 jeton par item contenu dans un objet.