Dynamo – Différence entre Equals et ==

Problématique

Pour comparer des objets ou des variables dans Dynamo, nous disposons de plusieurs fonctions. Cependant, elles ne sont pas équivalentes, car elles ne traitent pas les mêmes informations. Les deux nœuds ici évoqués sont « == » et « Equals ».

noeuds equals et ==

Solution

Le nœud « == » :

Ce nœud ne sert qu’à comparer des variables. Il renvoie un résultat booléen true si et seulement si les deux variables en entrée sont les mêmes. Dès lors que les entrées ne sont plus des variables de base de type bool, int, double ou string, alors il renvoie un false, même si les deux objets sont identiques. D’ailleurs, il est impossible de comparer des listes de données comme entités uniques avec ce nœud. Il ne comparera pas les listes entre elles, mais plutôt chacune de leurs variables tour à tour et ce quel que soit le choix de combinaisons. Ci-dessous un exemple avec le type de combinaison « Le plus court » :

exemple noeud == type de combinaison_le plus court

Cette fonction convient donc parfaitement à la comparaison des variables de calculs intermédiaires (compteurs, indice, etc.) servant au script mais n’étant pas visible dans le projet Revit associé. Ce nœud permet aussi de comparer des valeurs de paramètres Revit pour vérifier leur égalité. Il sera néanmoins incapable de reconnaitre les objets paramètres dont elles sont extraites. A l’utilisateur d’effectuer la passerelle entre le résultat booléen et l’objet Revit (par une List.BoolMask par exemple).

Le nœud « Equals » :

Le nœud « Equals », quant à lui, permet de comparer des variables, mais aussi des objets. Il est donc obligatoire de l’utiliser si l’on cherche à comparer des éléments Revit par exemple. Son homologue, lui, en est incapable :

noeud equals

« Equals » est aussi capable de comparer des listes et renvoie un true si les données de la première sont contenues dans la seconde et dans le même ordre :

Equals n°2

Néanmoins, il est aussi capable d’obtenir des résultats similaires à « == »  avec le mode de combinaison approprié :

Equals n°3

On peut donc se limiter à l’utilisation du nœud « Equals » si l’on fait attention aux modes de combinaisons.

Print Friendly, PDF & Email

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *