Règles d'expression
Lorsque vous saisissez des valeurs de paramètre, FlowForce effectue une vérification syntaxique et une validation du type de données en temps réel. Afin de garantir que les expressions FlowForce sont syntaxiquement correctes et évaluées comme prévu, respectez les règles suivantes :
•Utilisez les types de données appropriés.
•Placez les chaînes littérales entre guillemets simples ou doubles.
•Placez les expressions entre accolades lorsque vous les intégrez dans un champ de type chaîne.
Pour plus d'informations, consultez les sous-sections ci-dessous.
Règle #1: Utilisez les types de données corrects
Lorsque vous saisissez une expression dans un champ, assurez-vous qu'elle correspond au type de données du champ. Le type de données est affiché à droite du champ (capture d'écran ci-dessous).

Types de données disponibles
Les types de données disponibles sont décrits ci-dessous.
•string : p. ex., 'Hello World!'
•boolean : true()/false()
•number : p. ex., 56
•result : Représente la sortie d'une étape d'exécution (par exemple, mappages MapForce, fichiers de transformation StyleVision, fonctions shell, etc.). L'objet result peut suivre le code de sortie, le message d'erreur, stdout, stderr et une collection de flux de résultats.
oPour accéder à une valeur de résultat, attribuez-lui un nom (par exemple, output) et transmettez-la à la fonction d'expression results. Cette fonction la convertit en un flux, qui peut être traité avec des fonctions d'expression de flux.
oPour les commandes shell, appelez les fonctions d'expression step-result pour traiter la sortie. Par exemple, pour retourner la sortie standard en tant que stream, utiliser stdout(output). Pour retourner l'erreur standard en tant que stream, utiliser stderr(output).
•stream : représente de grandes quantités de données binaires stockées sur le disque ou en mémoire.
•list : FlowForce prend en charge les listes de tous les types mentionnés ci-dessus (tous les éléments doivent avoir le même type de données), y compris les listes de listes. Les listes peuvent être créées à l'aide de la fonction list().
Exemples
Veuillez consulter les exemples ci-dessous :
Expression | Sera évaluée en tant que ... | Explication |
|---|---|---|
1/4 | 0.25 | Produit une valeur numérique. |
1+1==2 | true | Produit une valeur booléenne. |
'apple' | apple | Produit une valeur de type chaîne. |
concat('1','2','3') | 123 | Produit une valeur de type chaîne qui combine les chaînes d'entrée en une seule. |
1+'apple' | - | Non valide : types de données incompatibles (nombre + chaîne) |
{content(stdout(result))} | [...] (chaîne)
| Utilise des fonctions imbriquées : stdout() récupère la sortie standard sous forme de flux ; content() convertit le flux en une chaîne.
Cette expression n'est validée avec succès que si :
•La valeur result a été déclarée précédemment. •La valeur result contient la sortie standard d'une commande shell. •L'expression est intégrée dans un champ chaîne.
|
Règle #2: Encadrer les chaînes entre guillemets simples ou doubles
Pour être traitée comme une chaîne, une expression doit être encadrée entre guillemets simples ou doubles. Sinon, l'expression peut produire des résultats imprévus ou échouer à la validation.
Expression | Sera évaluée en tant que ... | Explication |
|---|---|---|
1+1 | 2 | La valeur est numérique. |
'1+1' | 1+1 | La valeur est une chaîne. |
1+1==2 | true | La valeur est booléenne. |
"a""b" | a"b | Pour échapper le caractère guillemet dans une chaîne, doublez-le. |
Règle #3: Utiliser des accolades dans des champs chaîne
Dans un champ chaîne, FlowForce évalue l'intégralité du champ, mais seul le texte entre accolades {} est interprété comme une expression. Dans l'exemple ci-dessous, les accolades délimitent l'expression instance-id() du texte littéral qui l'entoure.

Si un champ est de type expression, n'utilisez pas d'accolades. Par exemple, le paramètre Expression de la fonction intégrée system/compute est un champ de ce type. Voici un exemple correct pour ce champ :

La saisie d'accolades dans un champ expression déclenche une erreur syntaxique :

Pour afficher les caractères { et } littéralement, utilisez des doubles accolades ({{ et }}). Veuillez consulter les exemples ci-dessous :
Un champ chaîne avec la valeur suivante... | Sera évaluée en tant que ... | Explication |
|---|---|---|
echo Hello, World! | Comme la chaîne ne contient pas d'expression intégrée, aucune accolade n'est utilisée. L'expression est évaluée telle quelle. | |
- | La chaîne ne peut pas être évaluée car l'expression intégrée n'est pas syntaxiquement correcte. FlowForce affiche donc une erreur syntaxique. | |
echo Hello, World! | La chaîne contient une expression syntaxiquement correcte. Cependant, l'expression se trouve dans un champ chaîne, donc le résultat de l'évaluation est le même que pour l'expression echo Hello, World!. | |
echo {'Hello, World!'} | La chaîne ne contient pas d'expression car les caractères d'échappement {{ et }} sont utilisés. |