Les règles de langage d'expression
Pour éviter les erreurs dans les expressions FlowForce, suivez ces règles :
•Utiliser uniquement des valeurs autorisées ou déclarées.
•Pour utiliser un string littéralement et contenu entre des guillemets simples.
•Pour intégrer une expression dans un champ de string, le contenir entre des accolades, soit les caractères { and }.
•L'expression doit produire un type de données qui est significative dans le champ où l'expression a été saisie.
Ci-dessous, vous trouverez une description de ces règles en détail.
Règle #1: Utiliser uniquement des valeurs autorisées ou déclarées
Les structures suivantes sont autorisées dans les expressions FlowForce :
•Fonctions d'expression FlowForce (pour une référence complète, voir Fonctions d'expression )
•Opérateurs FlowForce (voir Opérateurs )
•Valeurs numériques
•Valeurs de string
•Variables déclarées précédemment
Lorsque vous saisissez un texte dans un champ qui autorise des expressions FlowForce, une vérification en temps réel de la syntaxe a lieu. Si la syntaxe n'est pas correcte, FlowForce marquera en rouge les caractères concernés. Ci-dessous, vous trouverez un exemple d'une erreur de validation de syntaxe :
Cette erreur apparaît car ni la source ni la cible n’ont été déclarées dans la tâche, donc FlowForce ne peut pas interprété l’expression. Le problème peut être réglé en déclarant ces valeurs (par exemple, en tant que paramètres d'entrée de tâche) :
Règle #2: Encadrez les strings dans des guillemets simples
Si vous devez utiliser un string littéralement, vous devrez l'encadrer de guillemets simples. Sinon, l'expression pourrait produire des résultats non désirés ou la validation pourrait échouer. Veuillez consulter les exemples ci-dessous :
Expression | Sera évaluée en tant que ... | Explication |
---|---|---|
2 | Le type de donnée de la valeur est numérique. | |
1+1 | Le type de donnée de la valeur est string. | |
true | Le type de donnée de la valeur est booléen. |
Si vous souhaitez convertir des valeurs d'un type de données à un autre, utilisez les fonctions d'expression FlowForce (voir aussi Règle #4).
Règle #3: Utiliser des accolades dans des champs string
Si vous souhaitez intégrer une expression dans un champ string, encadrer l'expression dans des accolades. Dans l’exemple ci-dessous, les accolades délimitent l’expression instance-id() (qui est une fonction d’expression FlowForce) depuis le reste du string.
Si le champ entier est de type "as expression", n'utilisez pas d'accolades. Par exemple, le paramètre Expression de la fonction intégrée system/compute présente ce type. Ci-dessous, vous trouverez un exemple d'une valeur correcte pour ce champ (veuillez noter qu'aucune accolade n'est utilisée) :
La saisie d'accolades dans le champ d'expression entraînerait une erreur de syntaxe :
Voir aussi Intégrer des expressions dans les champs de String.
Règle #4: Utiliser le type de données correct
Enfin, sachez que FlowForce effectue des contrôles du type de données lorsque vous enregistrez une tâche. Une erreur se produira si l'expression saisie dans un champ ne correspond pas au type de données attendu par le champ. Vous pouvez voir le type de données attendu par chaque champ dans l'affichage à droite, par exemple :
C'est pourquoi, une expression comme 1+1 n'est pas valide dans un champ string, parce qu'elle est évaluée implicitement en tant que numérique. D'un autre côté, l'expression '1+1' est valide dans un champ string. Veuillez consulter les exemples ci-dessous :
Expression | Sera évaluée en tant que ... | Explication |
---|---|---|
1/4 | 0.25 (comme Nombre) | Le type de donnée de la valeur est numérique.
Utiliser cette expression dans un champ ou un contexte qui attend une valeur numérique ; sinon, la validation de tâche échouera. |
1+1==2 | true (comme Booléen) | Le type de donnée de la valeur est booléen.
Utiliser cette expression dans un champ ou un contexte qui attend une valeur booléenne; sinon, la validation de tâche échouera. |
'apple' | apple (as String) | Le type de donnée de la valeur est string.
Utiliser cette expression dans un champ ou un contexte qui attend une valeur string ; sinon, la validation de tâche échouera. |
concat('1','2','3') | 123 (comme String) | Le type de donnée de la valeur est string.
Utiliser cette expression dans un champ ou un contexte qui attend une valeur string ; sinon, la validation de tâche échouera. |
1+'apple' | - | Cette expression n'est pas valide, et FlowForce retournera une erreur si vous tentez d'enregistrer la tâche. L'évaluation ne peut pas avoir lieu parce que deux types de données différents (string et numérique) sont comparés. |
{content(stdout(result))} | [...] (comme String)
| Cette expression utilise deux fonctions d'expression imbriquées :
•La fonction stdout retourne la sortie standard d'une commande shell, en tant que stream. •La fonction content convertit la valeur stream en string.
Bien que l'expression soit correcte, la tâche sera validée correctement uniquement si les éléments suivants sont true :
•La valeur "result" a été déclarée précédemment. •La valeur "result" contient réellement la sortie standard d'une commande shell. •L'expression est intégrée dans un champ string.
Voir aussi Appeler des fonctions d'expression. |