L'opérateur de contenu / Contains operator : contains

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.
Table des matières
Les syntaxes
Noms | Opérateurs | Syntaxes | Opérandes | Résultat |
---|---|---|---|---|
Contient |
contains |
Syntaxe Infixe (par défaut)
Syntaxe Fonctionnelle
|
2 | boolean |
Le résultat de l'opération sera toujours une valeur de type booléenne.
Les deux opérandes doivent être 2 chaînes de caractères :
"Blogger"
contient"Blog"
.
Les opérandes 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.
Attention ! Le terme
contains
est également un opérateur « membres » qui compare une valeur à un tableau.
Quelques exemples
2 valeurs explicites
<b:if cond='"Blogger" contains "Blog"'>
</b:if>
Le résultat de l'opération sera : true
.
La chaîne de caractères Blog
est contenu dans Blogger
.
Une valeur explicite et une donnée
<b:if cond='data:blog.title contains "Code"'>
</b:if>
Si la valeur de la donnée est Blogger Code PE
, le résultat de l'opération sera : true
.
La chaîne de caractères Code
est contenu dans Blogger Code PE
.
2 données
<b:if cond='data:blog.pageTitle contains data:blog.title'>
</b:if>
Le résultat de l'opération sera : true
.
Le nom du blog est toujours contenu dans le titre de la page.
Imbrication dans une opération Lambda
<b:eval expr='data:posts count (p => p.title contains "Toto")'/>
Le résultat de l'opération sera le nombre de posts contenant la chaîne de caractères Toto
.
Imbrication dans une opération ternaire
<b:eval expr='data:view.description contains "patates" ? "Temps de préparation : minimum 2 heures" : "Temps de préparation : moins de 2 heures"'/>
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:if cond='data:view.title contains "Toto" and data:view.isPost'>
</b:if>
Le résultat sera true
si le titre contient la chaîne de caractères Toto
et si la page courante est un article.