Opérateurs et tests d'expression
Les opérateurs mathématiques standard peuvent être utilisés pour calculer des valeurs dans le contexte d'un modèle.
Symbole | Description |
---|---|
+ | Ajoute deux objets ensemble. Vous l'utiliserez généralement pour l'addition de nombres. Si vous essayez de concaténer des chaînes de listes, utilisez ~ à la place. |
- | Soustrait un nombre d'un autre. |
/ | Divise des nombres. |
% | Renvoie le reste de la division de nombres. |
// | Divise deux nombres et renvoie le résultat entier tronqué. Exemple : {{ 20 // 7 }} est 2 . |
* | Multiplie des nombres. |
** | Élève l'opérande gauche à la puissance de l'opérande droit |
Les opérateurs de comparaison peuvent être utilisés pour évaluer les valeurs pour la logique de modèle. Vous pouvez consulter quelques exemples d'utilisation d'opérateurs de comparaison dans les fonctions if ici.
Symbole | sténographie | Description |
---|---|---|
== | eq | Est égal à. Est défini sur true si deux objets sont égaux. |
!= | ne | N'est pas égal à. Est défini sur true si deux objets ne sont pas égaux. |
> | gt | Est supérieur à. Est défini sur true si le côté gauche est supérieur au côté droit. |
>= | gte | Est supérieur ou égal à. Est défini sur true si le côté gauche est supérieur ou égal au côté droit. |
< | lt | Est inférieur à. Est défini sur true si le côté gauche est inférieur au côté droit. |
<= | lte | Est inférieur ou égal à. Est défini sur true si le côté gauche est inférieur ou égal au côté droit. |
La version abrégée des opérateurs de comparaison est utilisable dans les filtres qui impliquent de tester une expression comme |selectattr()
.
Les opérateurs logiques vous permettent de combiner plusieurs expressions en une seule déclaration.
Symbole | Description |
---|---|
and | Renvoie true si l'opérande gauche et l'opérande droit sont vrais. |
or | Renvoie true si l'opérande gauche ou l'opérande droit est vrai. |
not | Invalide une déclaration et est utilisé en conjonction avec is. Consultez l'exemple ci-dessous. |
(expr) | Regroupe une expression pour l'ordre des opérations. Par exemple, (10 - 2) * variable. |
?: | L'opérateur ternaire accepte 3 arguments (expression, condition vraie, condition fausse). Évalue une expression et renvoie la condition correspondante. |
Vous trouverez ci-dessous d'autres opérateurs HubL importants qui peuvent être utilisés pour effectuer diverses tâches.
Symbole | Description |
---|---|
in | Vérifie si une valeur se trouve dans une séquence. |
is | Effectue un test d'expression. |
| | Applique un filtre. |
~ | Concatène les valeurs. |
Les tests d'expression sont diverses conditions booléennes qui peuvent être évaluées à l'aide d'opérateurs logiques.
Le test d'expression containingall
vérifie si une variable de liste contient toutes les valeurs d'une autre liste.
Le test d'expression defined vérifie si une variable est définie dans le contexte du modèle. Bien que vous puissiez utiliser ce test d'expression, l'écriture d'une fonction if sans aucun opérateur aura pour effet de vérifier par défaut si la variable est définie ou non.
Dans l'exemple ci-dessous, le paramètre color d'un module de couleur est testé. Si le paramètre color n'avait pas de valeur, le modèle afficherait une couleur de fond noire par défaut. S'il est défini, la couleur d'arrière-plan définie par l'utilisateur sera restituée.
Le test d'expression divisibleby peut être utilisé pour vérifier si un objet est divisible par un autre nombre.
Par exemple, ci-dessous, une boucle for est créée pour parcourir une liste de types d'animaux. Chaque type d'animal est imprimé dans une division et un style en ligne différent est appliqué toutes les 5 divisions (largeur :100 %). Ce concept pourrait être appliqué à un blog où un balisage différent est restitué pour un certain modèle d'article. Pour en savoir plus sur les boucles for et loop.index, consultez cet article.
Le test d'expression equalto vérifie si la valeur d'une variable est égale à une constante ou à une autre variable. Vous pouvez également utiliser l'opérateur == pour effectuer le même test.
Dans l'exemple ci-dessous, la largeur des articles du blog est ajustée en fonction du nombre total d'articles dans la boucle. L'exemple de sortie suppose qu'il y a 4 articles dans le blog.
Le test d'expression even vérifie si une variable numérique est un nombre pair.
L'exemple ci-dessous montre une boucle simplifiée d'énumération de blog, où si l'itération actuelle de la boucle est paire, une classe even-post est attribuée à la division d'élément d'article. Autrement, une classe odd-post est attribuée.
Vérifie si une variable est itérable et peut être parcourue en boucle.
Cet exemple vérifie une variable appelée « jobs » pour voir si elle peut être parcourue par itération. Comme la variable contient une liste de tâches, la fonction if est définie sur true et la boucle s'exécute. Si la variable avait contenu une seule valeur, la fonction if aurait imprimé cette valeur avec un balisage différent à la place. Découvrez-en davantage sur les boucles for.
Le test d'expression lower est défini sur true si une chaîne de caractères est en minuscules.
L'exemple ci-dessous utilise une fonction unless et un filtre pour vérifier qu'une chaîne de texte saisie dans un module de texte est toujours en minuscules.
Le test d'expression mapping vérifie si un objet est un dictionnaire ou non.
L'exemple ci-dessous vérifie si l'objet de contact est un dictionnaire, ce qui est le cas.
Le test d'expression none vérifie si une variable a une valeur nulle.
Le test d'expression number vérifie si la valeur d'une variable est un nombre ou non.
L'exemple ci-dessous vérifie si une variable est ou non une variable et, si tel est le cas, la convertit en millions.
Le test d'expression odd vérifie si une variable numérique est un nombre impair.
Vous trouverez ci-dessous le même exemple que le test d'expression inverse even décrit précédemment.
Le test d'expression sameas vérifie si deux variables ont ou non la même valeur.
L'exemple ci-dessous définit deux variables et vérifie ensuite si elles sont identiques ou non.
Le test d'expression sequence est similaire au test iterable, en ce sens qu'il vérifie si une variable est ou non une séquence.
L'exemple ci-dessous vérifie si une variable est une séquence, puis parcourt cette séquence de genres musicaux.
Le test d'expression string vérifie si la valeur stockée dans une variable est du texte.
L'exemple ci-dessous vérifie si une variable est ou non une chaîne de caractères et, si tel est le cas, applique un filtre de titre pour modifier la capitalisation.
Ce test d'expression vérifie si une chaîne commence par une chaîne particulière. Il est utilisé en conjonction avec l'opérateur is.
Le test d'expression truthy vérifie si une expression est définie sur true.
L'exemple ci-dessous utilise un module de case à cocher booléenne pour afficher un message d'alerte.
Le test d'expression undefined vérifie si une variable est indéfinie dans le contexte du modèle. Ce test est différent de none, dans la mesure où le test undefined est défini sur true lorsque la variable est présente mais n'a pas de valeur, alors que none est défini sur true lorsque la variable a une valeur nulle.
L'exemple ci-dessous vérifie l'existence de la variable my_var dans un modèle.
Le test d'expression upper est défini sur true lorsqu'une chaîne de caractères est entièrement en majuscules. Vous trouverez ci-dessous un exemple inverse du test d'expression lower ci-dessus.
Merci d'avoir partagé votre avis.