Passer au contenu principal
Afin d’étendre la logique et la fonctionnalité de vos modèles, HubL prend en charge plusieurs opérateurs et tests d’expression clés. Les opérateurs vous permettent d’exécuter des fonctions mathématiques, d’effectuer des comparaisons, de compliquer la logique des modèles et de modifier la restitution du balisage. En outre, cet article contient une liste complète des tests d’expression qui peuvent être utilisés dans HubL.

Opérateurs

Les opérateurs sont des symboles qui indiquent au compilateur HubL d’exécuter diverses opérations qui aboutissent à la sortie finale. Les opérateurs sont placés entre opérandes afin de relier les deux valeurs, que ce soit pour exécuter des fonctions mathématiques, effectuer des comparaisons ou implémenter des expressions booléennes.
operators-and-operands-diagram
Vous trouverez ci-dessous les opérateurs que vous pouvez utiliser dans HubL, organisés par type.

Mathématiques

Les opérateurs mathématiques standard peuvent être utilisés pour calculer des valeurs dans le contexte d’un modèle.

Comparaison

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.
La version abrégée des opérateurs de comparaison est utilisable dans les filtres HubL qui impliquent de tester une expression comme |selectattr().

Logique

Les opérateurs logiques vous permettent d’implémenter des expressions booléennes ainsi que de combiner plusieurs expressions en instructions conditionnelles uniques.
Utilisation des opérateurs et/ou Dans HubL, l’opérateur or se comporte comme l’opérateur or en Python et l’opérateur || en JavaScript. Il renverra le premier opérande si l’expression conditionnelle est définie comme true, sinon il renverra le deuxième opérande. Un cas d’utilisation courant de l’opérateur or consiste à définir une valeur de secours lorsqu’une valeur de variable n’est pas définie.
Cependant, l’opérateur and se comporte différemment de l’opérateur and en Python et de l’opérateur && en JavaScript. Dans HubL, and renvoie toujours une valeur booléenne : lorsque l’expression est évaluée comme true, true est renvoyée, sinon elle renvoie false. Les opérateurs Python et JavaScript, quant à eux, renverront une valeur d’opérande selon que l’instruction est définie sur true ou false.
Dans HubL, les listes vides ([]) et les dictionnaires vides ({}) sont considérés comme faux. C’est équivalent au comportement de Python, mais différent de JavaScript, où [] et {} sont exacts.

Autres opérateurs HubL

Vous trouverez ci-dessous d’autres opérateurs HubL importants qui peuvent être utilisés pour effectuer diverses tâches.

Tests d’expression

Les tests d’expression sont diverses conditions booléennes qui peuvent être évaluées à l’aide d’opérateurs logiques.

boolean

Vérifie si l’objet est booléen (au sens strict, pas dans sa capacité d’évaluation pour une expression véridique).

containing

Vérifie si une variable de liste contient une valeur.

containingall

Vérifie si une variable de liste contient toutes les valeurs d’une autre liste.

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.

divisibleby

Vérifie 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.

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.

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.

float

Vérifie si une variable numérique est un nombre à virgule flottante.

integer

Vérifie si une variable est un nombre entier.

iterable

Vérifie si une variable 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.

lower

Vérifie si une chaîne 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.

mapping

Vérifie si un objet est un dictionnaire L’exemple ci-dessous vérifie si l’objet de contact est un dictionnaire.

none

Vérifie si une variable a une valeur null.

number

Vérifie si la valeur d’une variable est un nombre. L’exemple ci-dessous vérifie si une variable est ou non une variable et, si tel est le cas, la convertit en millions.

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.

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.

sequence

Semblable au test iterable, ce test d’expression vérifie si une variable est une séquence. L’exemple ci-dessous vérifie si une variable est une séquence, puis parcourt cette séquence de genres musicaux.

chaîne

Vérifie si la valeur stockée dans une variable est du texte. L’exemple ci-dessous vérifie si une variable est une chaîne de caractères et, si tel est le cas, applique un filtre de titre pour modifier la capitalisation.

string_containing

Vérifie si une sous-chaîne fournie est contenue dans une autre chaîne. Ce test d’expression est utilisé en conjonction avec l’opérateur is.

string_startingwith

Vérifie si une chaîne commence par une chaîne particulière. Il est utilisé en conjonction avec l’opérateur is.

truthy

Vérifie si une expression est égale à True. L’exemple ci-dessous utilise un module de case à cocher booléenne pour afficher un message d’alerte.

undefined

Vérifie si une variable est indéfinie dans le contexte du modèle. Ce test est différent du test d’expression 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.

upper

Vérifie si une chaîne est entièrement en majuscules. Vous trouverez ci-dessous un exemple inverse du test d’expression lower ci-dessus.

within

Vérifie si une variable est présente dans une liste.
Dernière modification le 10 février 2026