Utiliser NOT_SET dans les expressions
Qu'est-ce que NOT_SET ?
est une valeur qui s’applique aux valeurs scalaires dans les expressions. Utilisez-le pour indiquer que la valeur n’est pas définie. Dans Architect, les valeurs scalaires sont des valeurs non collectables. Par exemple: dans la chaîne suivante, la valeur renvoyée est un chaîne :
ToString(NOT_SET)
Une valeur de chaîne non définie n’est pas la même chose qu’une chaîne vide. Si l’expression suivante est évaluée à exc terminer, l’expression renvoie la valeur false :
ToString(NOT_SET) == ""
les valeurs ne sont pas autorisées dans de nombreuses surcharges et fonctions pour les valeurs de paramètre. Dans le Aide sur les expressions boîte de dialogue, les paramètres de surcharge de fonction indiquent si une valeur NOT_SET est autorisée ou non. Chaque paramètre comprend un « NOT_SET Allowed : » entrée qui indique s'il accepte un paramètre NOT_SET du type spécifié. Si, au moment de l'exécution, Architect évalue un paramètre avec une valeur NOT_SET non valide, il appelle un gestionnaire d'erreurs.
Pas sûr qu’une valeur transmise soit ?
Pour éviter une erreur chez exc exécuter, vérifiez dans les expressions. L’exemple suivant illustre un scénario d’expression qui échouera sur exc acheter :
Flow.MyInteger est une variable Integer avec la valeur de . Dans ce cas, un auteur de flux a une action Update Data qui affecte cette expression à une autre variable Integer.
5+Flow.MyInteger
Dans la mesure où Flow.MyInteger n’a pas de valeur affectée, il demande à flux d ’ appels excJourn d’ajouter non défini à 5. Comme cette expression n’a pas de réponse, elle appelle une erreur. Si l’auteur du flux s’est assuré que Flow.MyInteger avait une valeur (par exemple, une valeur autre que ), 5 + Flow.MyInteger fonctionnerait bien. Cependant, si Flow.MyInteger a un Si cet attribut est correct, l’auteur du flux doit le vérifier explicitement dans l’expression et le corriger de manière appropriée.
L’exemple suivant montre comment utiliser dans une expression :
Dans ce cas, la logique de l’addition traite l’instance de Flow.MyInteger dans une condition de comme si c’était 0 :
5+If(IsSet(Flow.MyInteger),Flow.MyInteger,0)
L’expression dit essentiellement : « Une valeur existe-elle dans Flow.MyInteger ? Si oui, utilisez-le. Sinon, si aucune valeur n’existe dans Flow.MyInteger, utilisez la valeur 0. ” Dans ce cas, l’auteur du flux prend une décision consciente à propos du comportement de Architect et l’exécution continuera.
IsNotSetOrEmpty
IsNotSetOrEmpty est également utile La fonction exc terminer est similaire à IsSet. Cette fonction est utile pour travailler avec des valeurs ou vide, comme une collection. Pour plus d’informations sur cette fonction, voir la Aide Expression.
NOT_SET et les collections
Les collections ne sont jamais dans son ensemble. Cependant, une collection peut contenir articles.