Expressions
Cette section décrit les expressions contenues dans les robots et la façon dont elles sont modifiées et évaluées.
De nombreuses propriétés dans les étapes de robot peuvent être spécifiées soit comme une valeur simple (par exemple, un nombre), soit comme une expression. Une expression est évaluée, puis le résultat de l'évaluation est utilisé pour la propriété, où des valeurs simples sont utilisées directement comme valeur de la propriété. Par exemple, la propriété Compteur dans l'étape Clic pourrait être spécifiée sous la forme d'un nombre, par exemple 2, mais aussi sous la forme d'une expression, comme clickCount, où clickCount est une variable définie dans le périmètre de l'étape et affectée d'une valeur ailleurs dans le robot.
Les expressions du robot sont très similaires aux expressions des langages de programmation les plus courants, tels que Java, C#, JavaScript, etc. Elles se composent de constantes, de variables, d'opérations (addition, soustraction, multiplication, comparaison, logique, etc.) et de fonctions. Voici quelques exemples d'expressions :
-
(1 + 2)*3
-
x > 0 || x <= 6
-
max(x, 10)
-
"hello".substring(3)
Les expressions ont des types et ces types sont identiques à ceux des variables. Cela signifie que l'opération et la fonction ne peuvent être appliquées qu'à des opérandes d'un certain type. Selon le type d'opérande, une valeur d'un type donné est retourné lors de l'évaluation. Par exemple, l'addition de deux opérandes de type Entier produit un résultat de type Entier, tel que 1+2 donne 3. Si le type des opérandes est Nombre, le résultat est de type Nombre, tel que 1.0+2.0 qui produit 3.0. Le type d'une expression est vérifié statiquement avant que l'expression ne soit évaluée, et une erreur de type dans une expression est signalée comme une erreur dans le robot.
L'évaluation d'une expression ne peut pas changer l'état du workflow, c'est-à-dire que vous ne pouvez pas attribuer de valeur à une variable à l'intérieur de l'expression. Seules les étapes peuvent le faire, par exemple l'Étape Assigner assigne une valeur à une variable et cette valeur peut provenir de l'évaluation d'une expression.
Les sections suivantes expliquent les différents composants des expressions et l'éditeur d'expression :
Constantes
Les constantes sont des valeurs des types simples suivants.
Type |
Exemple |
---|---|
Entier |
42 -17 |
Nombre |
3,14159 -.33 |
Booléen |
true false |
Texte |
"Hello" "Premier" |
Les valeurs texte ne doivent pas contenir des guillemets doubles ("), car cela termine la valeur Texte. Utilisez plutôt \" lorsque vous avez besoin d'un guillemet double dans votre valeur Texte. La barre oblique inverse (\) est généralement utilisée pour les caractères spéciaux dans les valeurs Texte que vous ne pouvez pas écrire directement dans les expressions. Les caractères spéciaux sont :
Caractère |
Description |
---|---|
\n |
saut de ligne Pour se servir du saut de ligne dans le navigateur intégré, utilisez \r\n |
\r |
retour à la ligne |
\f |
saut de page |
\" |
guillemets doubles |
\t |
tab |
\b |
retour arrière |
\\ |
La barre oblique elle-même |
\uXXXX |
Caractère Unicode codé en nombre hexadécimal, par exemple "\u002A" est une autre façon d'écrire "*" |
Variables
Les variables d'une expression peuvent être n'importe quelles variables ou n'importe quels paramètres d'entrée définis dans un workflow, qui sont dans la portée dans l'emplacement de l'expression. Les paramètres d'entrée sont toujours dans la portée, car leur portée est l'ensemble du workflow. Les variables ont une portée si elles sont définies au niveau le plus élevé du workflow ou à l'intérieur d'une Étape Groupe.
Opérations
Une opération est une expression composée d'un opérateur et de d'opérandes. Dans l'expression 1+2, + est l'opérateur et 1 et 2 sont les opérandes. L'opérateur définit donc une opération qui doit être effectuée sur la valeur des opérandes lors de l'évaluation de l'expression. Dans cette section, nous décrivons les opérateurs qui peuvent exister dans les expressions. Dans la plupart des cas, l'opération que ces opérateurs exécutent est simple. Si les expressions des langages de programmation vous sont familières, pouvez ignorer cette description et consulter le tableau récapitulatif ci-dessous.
- Opérations arithmétiques
- Les expressions prennent en charge les opérations arithmétiques normales, telles que l'addition (+), la soustraction (-), la multiplication (*), la division (/) et le modulo (%). Chacune des opérations accepte deux opérandes qui peuvent avoir n'importe quelle combinaison de type Entier et Nombre. Si au moins un des opérandes est de type Nombre, le type de résultat est également Nombre. Sinon, il est de type Entier.
Lors de l'utilisation d'une opération d'addition (+), si l'un des opérandes est de type Texte et l'autre opérande est de type Entier, Nombre, Booléen ou Texte, le type de résultat est Texte. Par exemple, "a" + 1 produit le texte "a1". La valeur de l'opérande qui n'est pas de type Texte est convertie en texte, puis les valeurs des deux opérandes sont concaténées dans le texte résultant. L'opération de soustraction - peut être également utilisée comme la négation de nombres, comme -x, où x est de type Entier ou Nombre. L'opérateur % s'appelle un modulo ou opérateur de reste. Il renvoie le reste après la division de deux opérandes. Par exemple, 5 % 2 renvoie 1. Plus précisément, il est défini mathématiquement comme suit :
x % y = x - trunc(x / y) * y where trunc(x) = sgn(x) * floor(|x|)
L'évaluation d'une opération arithmétique peut générer une exception. Cela peut se produire pour les opérations d'addition, de soustraction, de multiplication et de division si le résultat est en dehors de la limite des nombres, comme un débordement si la valeur d'un nombre est trop grande. Dans ce cas, une exception OverflowIssue est générée. Les opérateurs division et modulus génèrent une exception DivisionByZeroIssue si la valeur du deuxième opérande est égale à zéro. Par exemple :
-
17 % 2 retourne 1.
-
-17.3 % 2.0 retourne -1.3
-
- Opérateurs d'égalité
- Il existe deux opérateurs d'égalité dans les expressions de workflow.
-
== détermine si la valeur d'un opérande est égale à une autre.
-
!= détermine si la valeur d'un opérande n'est pas égale à celle d'un autre.
-
- Ces opérateurs fonctionnent sur tous les types d'opérandes, mais le type des opérandes doit être identique. Par exemple, vous ne pouvez pas comparer un nombre à un entier.
- Opérateurs relationnels
- Les opérateurs relationnels déterminent si un opérande est inférieur ou supérieur à un autre opérande. Les opérandes doivent être des nombres, c'est-à-dire de type Entier, Nombre, Date, Temps ou DateTime. Les types d'opérandes dans une expression doivent être les mêmes. Il existe quatre opérateurs relationnels :
Opérateur
Description
<
Inférieur à
<=
inférieur ou égal à
>
supérieur à
>=
supérieur ou égal à
- Opérateurs logiques
- Il existe deux opérateurs logiques binaires (acceptant deux opérandes) : AND(&&) et OR(||), et un opérateur unaire (accepte un opérande) : NOT (!). Ils sont définis pour les opérandes booléens et leur type de retour est également booléen. L'opérateur && renvoie True si la valeur de ses deux opérandes est vraie et False dans tous les autres cas. L'opérateur || retourne True si la valeur d'au moins un de ses opérandes est vraie et False dans le cas où ils sont les deux faux. L'opérateur ! retourne True si la valeur de l'opérande est fausse et False si l'opérande est vrai.
L'évaluation des opérateurs && et || est légèrement différente de l'évaluation de la plupart des autres opérateurs. Normalement, tous les opérandes sont évalués avant l'opérateur, mais pour les opérateurs && et ||, le premier opérande est évalué en premier, et si cela suffit à déterminer le résultat de l'opération, le second argument n'est pas évalué. Par exemple, dans x==1 || x==2 si x est 1, la deuxième partie de l'expression(x==2) n'est pas évaluée.
- Opérateur conditionnel
- L'opérateur conditionnel accepte trois opérandes et se présente comme suit :
<Op>?<Op>:<Op>
où <Op> peut être n'importe quel opérande avec certaines restrictions. Par exemple, x==1?0:1 retourne 0 si la valeur de x est 1, et 1 autrement. Le type du premier opérande doit être booléen, et les deux autres opérandes peuvent être de n'importe quel type, mais doivent être identiques.
L'évaluation de l'opérateur conditionnel est également légèrement différente de celle de la plupart des autres opérateurs. Pour l'opérateur conditionnel, le premier opérande est évalué en premier et ensuite, en fonction de sa valeur, seul un des deux autres opérandes est évalué. Si le premier opérande est vrai (ou faux), le deuxième (ou le troisième) opérande est évalué, et le résultat est le résultat de cette évaluation. Cela signifie également que même si une erreur d'évaluation se produit dans l'opérande qui n'est pas évalué, cela ne génère pas d'exception. Par exemple, dans x == 0.0? 1.0: 1/x si x a la valeur 0.0, 1/x n'est pas évalué, aucune exception DivisionByZeroIssue n'est générée.
- Résumé des opérateurs
- Le tableau ci-dessous répertorie les opérateurs d'expression.
Opérateur
Description
Exemples
+
Addition ou concaténation de texte
1+2
"hello" + nom
-
Soustraction ou négation
1-2
5-2,9
-5
*
Multiplication
42*2
1,0*17
/
Division
1/2
1/2,0
%
Modulus
x % 2
2.5 % 1.0
==,!=
Égal, différent de
true == false
x != 0
<,<=
Inférieur à, inférieur à ou égal à
0 < 1
1.0 <= 0.0
>,>=
Supérieur à, supérieur à ou égal à
0 > 1
1.0 >= 0.0
&&,||
AND logique, OR logique
true || x
false && y
!
NOT logique
!true
_?_:_
Opérateur conditionnel
x>0? x: 0
- Parenthèses
- Vous pouvez utiliser des parenthèses pour déterminer l'ordre d'évaluation dans une expression et modifier le résultat obtenu à partir de l'expression. Par exemple, l'expression 1+2*3 retourne 7, mais si vous insérez une parenthèse comme suit : (1+2)*3, le résultat devient 9, car le contenu de la parenthèse est évalué avant l'opérateur.
Fonctions
Les expressions peuvent également contenir des appels de fonction. Il existe deux façons d'appeler une fonction. La première s'appelle un appel de fonction direct et se présente comme suit : f(<Op>,...,<Op>), tel que max(1,2). La deuxième s'appelle un appel de fonction de méthode et se présente comme suit : <Op>.f(<Op>,...,<Op>), par exemple, 1.max(2). Les deux manières sont liées comme suit :
<Op1>.f(<Op2>,...,<Opn>) est identique à f(<Op1>,...,<Opn>).
Les fonctions sont similaires aux opérateurs dans la mesure où les opérandes doivent avoir certains types et où le type de résultat dépend des types des opérandes. Par exemple, la fonction max qui détermine le maximum de deux nombres peut être appelée avec des opérandes de type Entier ou Nombre, et le type de retour est identique à celui des opérandes.
Si au cours de l'évaluation, une fonction obtient une valeur d'opérande incorrecte, par exemple, une valeur en dehors de la plage attendue, une exception IncorrectValueIssue est générée.
Kofax RPA fournit les fonctions suivantes :
-
Numérique
-
Texte
-
DateTime
-
Date
-
Temps
-
Conversion
Fonctions numériques
Fonction |
Type de résultat |
Exemple |
---|---|---|
abs(Integer) |
Entier |
abs(-5) renvoie 5. |
abs(Number) |
Nombre |
abs(-2) renvoie 2. |
ceil(Number) |
Entier |
Renvoie le plus petit entier supérieur ou égal au nombre. ceil(2.4) renvoie 3. |
computeMD5(binary: Binaire) |
Texte |
Calcule la somme de contrôle MD5 de l'entrée binaire. |
floor(Number) |
Entier |
Renvoie le plus petit entier supérieur ou égal au nombre. floor(8.7) renvoie 8. |
round(Number) |
Entier |
Renvoie le plus petit entier supérieur ou inférieur au nombre en se basant sur les règles arithmétiques. round(1.4) renvoie 1.round(1.6) renvoie 2. |
trunc(Number) |
Entier |
Renvoie le nombre sans la partie décimale. trunc(4.8732) renvoie 4. |
max(Integer, Integer) |
Entier |
max(4, 9) renvoie 9. |
max(Number, Number) |
Nombre |
max(12, 99) renvoie 99. |
min(Integer, Integer) |
Entier |
min(23, 47) renvoie 23. |
min(Number, Number) |
Nombre |
min(15.01, 32.5) renvoie 15.01. |
random() |
Nombre |
Renvoie un nombre aléatoire supérieur ou égal à 0.0 et inférieur à 1.0. random() |
random(Integer, Integer) |
Entier |
Renvoie un entier aléatoire supérieur ou égal à la valeur du premier opérande et inférieur ou égal à la valeur du second opérande. random(5, 96) |
Fonctions texte
Fonction |
Type de résultat |
Exemple |
---|---|---|
ampersandDecode(Text) |
Texte |
ampersandDecode(">") renvoie >. |
ampersandEncode(Text) |
Texte |
ampersandEncode(">") renvoie >. |
base64Decode(Text) |
Binaire |
base64Decode("SGVsbG8=").text("UTF8") renvoie Hello. |
binary(Text, Text) |
Binaire |
Convertit une valeur texte en valeur binaire. "Hello".binary("UTF8") |
boolean(Text) |
Booléen |
Le texte doit correspondre à « vrai » ou « faux ». boolean("true") renvoie « vrai » du type Booléen. |
capitalize(Text) |
Texte |
Renvoie le texte dont tous les mots sont en majuscules : tous les mots commencent par une lettre majuscule et les lettres restantes sont en minuscules. capitalize("hello world") renvoie Hello World. |
contains(Text, Text) |
Booléen |
Vérifie que le texte contient le texte spécifié. contains("I have found it", "have") renvoie vrai. |
endsWith(Text, Text) |
Booléen |
endsWith("Why portraits have fascinated us for millennia", "millennia") renvoie true. |
indexOf(Text, Text) |
Entier |
indexOf("Why portraits have fascinated us for millennia", "millennia") renvoie 37. |
integer(Text) |
Entier |
integer("7") renvoie 7 du type Entier. |
length(Text) |
Entier |
Renvoie la longueur du texte, en calculant le nombre de symboles. length("Hello") renvoie 5. |
matches(text: Text, regex: Text)* |
Booléen |
Vérifie que le texte correspond à l'expression régulière. matches("My phone number is 123-45-678", "(.*)( \\d{3}-\\d{2}-\\d{3})") renvoie vrai. |
number(Text) |
Nombre |
number(987) renvoie 987.0. |
password(Text) |
Mot de passe |
Convertit un texte en mot de passe. Cette expression est utile lorsqu'un mot de passe est requis pour se connecter à une application pendant le développement du robot. Pour des raisons de sécurité, cette fonction ne devrait pas être utilisée dans un environnement de production. password("123abc!@") renvoie Password=074f4d84dfe28d... |
removeNonPrintable(Text) |
Texte |
Renvoie un texte sans caractères non imprimables. removeNonPrintable("Text with non-printable characters") |
replaceAll(text: Text, regex: Text, replacement: Text)* |
Remplace tout le sous-texte qui correspond à l'expression régulière par le remplacement donné. Les expressions régulières prennent en charge plusieurs correspondances et références avec $. "345-84-7735".replaceAll(") renvoie 345-84-7735.Notez que la barre oblique inverse doit être précédée d'un caractère d'échappement. |
|
startsWith(Text, Text) |
Booléen |
startsWith("To be or not to be", "To") renvoie vrai. |
substring(Text, Integer) |
Texte |
"workflow".substring(5) renvoie low. |
substring(Text, Integer, Integer) |
Texte |
substring("DesignStudio",1,8) renvoie esignSt. |
toJSON(Text) |
Texte |
toJSON("Hello") renvoie "Hello" en tant que texte. |
toLowerCase(Text) |
Texte |
toLowerCase("START") renvoie start. |
toUpperCase(Text) |
Texte |
toUpperCase("sun") renvoie SUN. |
trim(Text) |
Texte |
Supprime les espaces supplémentaires au début et à la fin du texte. trim(" Let's start ") renvoie Let's start. |
unquote(text: Text) |
Texte |
Supprime les guillemets d'un texte. "\"hello\"".unquote() renvoie hello sans guillemets. |
Fonctions DateTime. Le résultat des fonctions DateTime contient la date, l'heure, l'ID de zone et le décalage de fuseau horaire. La représentation dépend des paramètres spécifiés. Par défaut, sauf si un fuseau horaire spécifique est indiqué manuellement, le fuseau horaire local de l'ordinateur est utilisé, qui est déterminé lors de l'évaluation de l'expression.
Fonction |
Type de résultat |
---|---|
dateTime() |
DateTime Renvoie la date actuelle (année, mois, jour), l'heure (heures, minutes, secondes), le décalage et l'ID de zone. |
dateTime(date: Date, time: Time) |
DateTime Renvoie la date et l'heure spécifiées. Exemple dateTime(date(2022, 1, 10), time(12, 0, 5)) renvoie la date : année = 2022, mois = 1, jour = 10 ; l'heure : heure = 12, minutes = 0, secondes = 5, nanosecondes = 0 ; zoneID = « fuseau horaire de DateTime ». |
dateTime(date: Date, time: Time, zone: Text) |
DateTime Renvoie la date, l'heure et l'ID de zone ou le décalage du fuseau horaire spécifiés. Exemple dateTime(date(2010,11,08), time(12,44,00), zoneId(Dublin)) |
dateTime(text: Text, pattern: Text) |
DateTime Convertit une valeur Texte en une valeur DateTime à l'aide du paramètre régional de l'ordinateur. Exemple dateTime("2022-01-02 12:30", "yyyy-MM-dd HH:mm") |
dateTime(text: Text, pattern: Text, locale: Text) |
DateTime Crée une valeur DateTime à partir d'un texte utilisant une expression rationnelle et d'un paramètre régional. Exemple dateTime("January 1, 2022 12:30", "MMMM d, yyyy HH:mm ", "en-US"). |
dateTime(text: Text, pattern: Text, defaultDate: Date) |
DateTime Convertit une valeur Texte en une valeur DateTime à l'aide d'une expression rationnelle et d'une date par défaut à utiliser si le texte ne contient pas de date. Exemple dateTime("12:30", "HH:mm", date()) Ici, la date est la date actuelle. |
dateTime(text: Text, pattern: Text, defaultDate: Date, locale: Text) |
DateTime Convertit une valeur DateTime à partir d'un texte utilisant une expression rationnelle, d'une date par défaut et d'un paramètre régional. Le paramètre régional est utilisé si l'expression rationnelle correspond à un texte avec une date, auquel cas la date par défaut n'est pas utilisée. La date par défaut est utilisée si le texte ne contient pas de date. Exemple dateTime(text, "[MMMM d, yyyy] HH:mm", date(), "en-US"), où text est une variable contenant la date à extraire et date() est la date actuelle. L'expression rationnelle correspond aux deux textes : January 1, 2022 12:30 et 12:30. Dans le premier cas, elle renvoie une valeur DateTime avec la date January1, 2022, et dans le second cas, elle la renvoie avec la date actuelle. Dans les deux cas, l'heure est 12:30. |
offset(dateTime: DateTime) |
Texte Renvoie la partie décalage de la valeur DateTime. Exemple offset(dateTime()) renvoie le décalage de la date actuelle sur votre ordinateur, tel que +01:00. |
zoneId(dateTime: DateTime) |
Texte Renvoie la partie fuseau horaire de la valeur DateTime. Exemple zoneId(dateTime()) renvoie la valeur de la zoneID de la date actuelle, telle que Europe/Paris. |
withYears(dateTime: DateTime, years: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec l'année modifiée. Exemple dateTime(date(2021, 7, 20), time(12, 13, 14)).withYears(2022) renvoie la valeur DateTime où l'année est 2022. |
withMonth(dateTime: DateTime, months: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le mois modifié. Pour un exemple, voir « withYears ». |
withDay(dateTime: DateTime, days: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le jour modifié. Pour un exemple, voir « withYears ». |
withHour(dateTime: DateTime, hours: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec l'heure modifiée. Pour un exemple, voir « withYears ». |
withMinute(dateTime: DateTime, minutes: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec les minutes modifiées. Pour un exemple, voir « withYears ». |
withSecond(dateTime: DateTime, seconds: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec les secondes modifiées. Pour un exemple, voir « withYears ». |
withNano(dateTime: DateTime, nanos: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec les nanosecondes modifiées. Pour un exemple, voir « withYears ». |
withOffset(dateTime: DateTime, offset: Text) |
DateTime Renvoie une copie de la date et de l'heure au décalage spécifié. La modification du décalage peut modifier l'ID de zone, de sorte que le décalage et l'ID de zone soient cohérents. Exemple (étant donné le décalage +1) withOffset(dateTime(), "+3") renvoie l'heure avec le décalage +3, ce qui signifie que l'heure aura 2 heures d'avance sur l'heure actuelle. En outre, l'ID de zone passe à UTC +03:00, ce qui correspond à Europe/Moscou. |
withZoneId(dateTime: DateTime, zoneID: Text) |
DateTime Renvoie une copie de la date et de l'heure dans le fuseau horaire spécifié. La modification de l'ID de zone peut modifier le décalage, de sorte que l'ID de zone et le décalage soient cohérents. Exemple withZoneId(dateTime(), "Europe/Moscow") renvoie l'heure actuelle dans l'ID de zone spécifié. |
plusYears(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre d'années spécifiées ajoutées. Exemple dateTime(date(2021, 7, 20), time(12, 13, 14)).plusYears(1) renvoie une valeur DateTime avec la date 2022-07-22 12:13:14.0 du fuseau horaire où se trouve le robot en cours d'exécution. |
plusMonths(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de mois spécifiés ajoutés. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
plusWeeks(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de semaines spécifiées ajoutées. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
plusDays(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de jours spécifiés ajoutés. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Dans l'exemple suivant avec plusDays(70), étant donné que mars compte 31 jours et avril compte 30 jours, 27 jours sont d'abord ajoutés au 4 mars, puis les 43 jours restants sont ajoutés, ce qui donne le 13 mai. Exemple dateTime(date(2022, 3, 4), time(12, 13, 14)).plusDays(70) renvoie la date : année = 2022, mois = 5, jour = 13 ; l'heure : heure = 12, minutes = 13, secondes = 14, nanosecondes = 0 ; zoneID = « fuseau horaire de DateTime ». |
plusHours(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre d'heures spécifiées ajoutées. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
plusMinutes(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de minutes spécifiées ajoutées. Exemple dateTime(date(2022, 7, 20), time(12, 13, 14)).plusMinutes(7) renvoie la date : année = 2022, mois = 7, jour = 20 ; l'heure : heure = 12, minutes = 20, secondes = 14, nanosecondes = 0 ; zoneID = « fuseau horaire de DateTime » Toutes les fonctions « plus » fonctionnent avec un report de calendrier. |
plusSeconds(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de secondes spécifiées ajoutées. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
plusNanos(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de nanosecondes spécifiées ajoutées. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
minusYears(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre d'années spécifiées soustraites. Exemple dateTime(date(2022, 7, 20), time(12, 13, 14)).minusYears(10) renvoie une valeur DateTime avec la date 2012-07-22 12:13:14.0 du fuseau horaire où se trouve le robot en cours d'exécution. |
minusMonths(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de mois spécifiés soustraits. Exemple dateTime(date(2022, 7, 20), time(12, 13, 14)).minusMonths(10) renvoie une valeur DateTime avec la date 2021-09-20 12:13:14 du fuseau horaire où se trouve le robot en cours d'exécution. |
minusWeeks(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de semaines spécifiées soustraites. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Pour un exemple, voir « minusMonths ». |
minusDays(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de jours spécifiés soustraits. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Dans l'exemple suivant avec minusDays(20), étant donné que mars compte 31 jours et février compte 29 jours, 14 jours sont d'abord soustraits du 14 mars, puis les 6 jours restants sont soustraits, ce qui donne le 23 février. Exemple dateTime(date(2020, 3, 14),time(12, 13, 14)).minusDays(20) renvoie la date : année = 2020, mois = 2, jour = 23 ; l'heure : heure = 12, minutes = 14, secondes = 14, nanosecondes = 0 ; zoneID = « fuseau horaire de DateTime ». |
minusHours(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre d'heures spécifiées soustraites. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Pour un exemple, voir « minusDays ». |
minusMinutes(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de minutes spécifiées soustraites. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Pour un exemple, voir « minusDays ». |
minusSeconds(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de secondes spécifiées soustraites. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Pour un exemple, voir « minusDays ». |
minusNanos(dateTime: DateTime, amount: Integer) |
DateTime Renvoie une copie de la date et de l'heure avec le nombre de nanosecondes spécifiées soustraites. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Pour un exemple, voir « minusDays ». |
yearsUntil(from: DateTime, to: DateTime) |
Entier Calcule le nombre d'années du premier argument DateTime vers le deuxième argument DateTime. Exemple dateTime(date(2022, 1, 20), time(12, 13, 14)).yearsUntil(dateTime(date(3785, 11, 20), time(12, 13, 14))) renvoie 1763. |
monthsUntil(from: DateTime, to: DateTime) |
Entier Calcule le nombre de mois du premier argument DateTime vers le deuxième argument DateTime. Exemple dateTime(date(2022, 1, 20), time(12, 13, 14)).monthsUntil(dateTime(date(2022, 11, 20), time(12, 13, 14))) renvoie 10. |
daysUntil(from: DateTime, to: DateTime) |
Entier Calcule le nombre de jours du premier argument DateTime vers le deuxième argument DateTime. Pour un exemple, voir « monthsUntil ». |
hoursUntil(from: DateTime, to: DateTime) |
Entier Calcule le nombre d'heures du premier argument DateTime vers le deuxième argument DateTime. Pour un exemple, voir « monthsUntil ». |
minutesUntil(from: DateTime, to: DateTime) |
Entier Renvoie le nombre de minutes du premier argument DateTime vers le deuxième argument DateTime. Pour un exemple, voir « monthsUntil ». |
secondsUntil(from: DateTime, to: DateTime) |
Entier Renvoie le nombre de secondes du premier argument DateTime vers le deuxième argument DateTime. Pour un exemple, voir « monthsUntil ». |
millisUntil(from: DateTime, to: DateTime) |
Entier Renvoie le nombre de millisecondes du premier argument DateTime vers le deuxième argument DateTime. Pour un exemple, voir « monthsUntil ». |
nanosUntil(from: DateTime, to: DateTime) |
Entier Renvoie le nombre de nanosecondes du premier argument DateTime vers le deuxième argument DateTime. Pour un exemple, voir « monthsUntil ». |
dayOfYear(dateTime: DateTime) |
Entier Renvoie le jour de l'année. Exemple dateTime(date(2022, 3, 1), time(12, 13, 14)).dayOfYear() renvoie jour = 60 |
weeksUntil(from: DateTime, to: DateTime) |
Entier Renvoie le nombre de semaines du premier argument DateTime vers le deuxième argument DateTime. Exemple dateTime(date(2022, 1, 20), time(12, 13, 14)).weeksUntil(dateTime(date(2025, 11, 20), time(12, 13, 14))) renvoie 200. |
text(dateTime: DateTime) |
Texte Convertit une valeur DateTime en une représentation textuelle. Exemple text(dateTime()) renvoie la date et l'heure actuelles, par exemple 2022-02-10T13:46:56.907958+01:00[Europe/Paris]. |
text(dateTime: DateTime, pattern: Text) |
Texte Convertit une valeur DateTime en une représentation textuelle correspondant à l'expression rationnelle et le paramètre régional spécifiés. L'expression rationnelle peut être spécifiée de différentes manières, telles que :
Exemples (étant donné le DateTime 2022-12-20T00:30:00+03:00) text("d/M/yyyy HH:mm") renvoie 20/12/2022 00:30. |
text(dateTime: DateTime, pattern: Text, locale: Text) |
Texte Renvoie la représentation textuelle de la date et de l'heure de DateTime correspondant à l'expression rationnelle spécifiée et au paramètre régional indiqué.
Exemples (étant donné que la date actuelle est le 20.12. 2021 00:30:00) text("EEEE MMM d yy HH:mm", "en-US") renvoie Monday Dec 20 21 00:30. text("EEE MMMM d yyyy HH:mm", "en-US") renvoie Mon December 20 2021 00:30. text("yyyy'年'MM'月'd'日' HH:mm:ss","ja-JP") renvoie 2021年12月20日 00:30:00. |
fromExcelDate(excelDate: Number) |
DateTime Convertit une valeur DateTime en une date Excel représentée comme un nombre. Exemple (étant donné que la valeur ExcelDate est 44969) ExcelDate.fromExcelDate() renvoie année=2023, mois=2, jour=12. |
toExcelDate(dateTime: DateTime) |
Number Convertit une valeur DateTime en une date Excel représentée comme un nombre. Exemples (étant donné que la date actuelle est 08.02.2022 18:45:00) dateTime().toExcelDate() renvoie 44600.76050844907149439677596092224. |
Fonctions de date
Fonction |
Type de résultat |
---|---|
date() |
Date Renvoie la date actuelle. |
date(year: Integer, month: Integer, day: Integer) |
Date Renvoie la date avec l'année, le mois et le jour spécifiés. |
date(DateTime) |
Date Si DateTime est spécifié précédemment, elle renvoie la valeur date de DateTime. |
date(text: Text, pattern: Text) |
Date Convertit une valeur Texte en une valeur Date à l'aide d'une expression rationnelle. Exemple date("2022-01-02", "yyyy-MM-dd") |
date(text: Text, pattern: Text, locale: Text) |
Date Convertit une valeur Texte en une valeur Date à l'aide d'une expression rationnelle et d'un paramètre régional. Exemple dateTime("January 1, 2022", "MMMM d, yyyy ", "en-US") |
year(date: Date) |
Entier Renvoie l'année de la date actuelle. |
month(date: Date) |
Entier Renvoie le mois (compris entre 1 et 12) de la date actuelle. |
day(date: Date) |
Entier Renvoie le jour du mois (compris entre 1 et 31) de la date actuelle. |
withYear(date: Date, years: Integer) |
Date Renvoie une copie de la date avec l'année modifiée. Exemple date(2022, 3, 4).withYear(2037) renvoie année = 2037, mois = 3, jour = 4. |
withMonth(date: Date, months: Integer) |
Date Renvoie une copie de la date avec le mois modifié. date(2022, 3, 4).withMonth(5) renvoie année = 2022, mois = 8, jour = 4. |
withDay(date: Date, days: Integer) |
Date Renvoie une copie de la date avec le jour modifié. Exemple date(2022, 3, 4).withDays(10) renvoie année = 2022, mois = 3, jour = 10. |
plusYears(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre d'années spécifiées ajoutées. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
plusMonths(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre de mois spécifiés ajoutés. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
plusWeeks(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre de semaines spécifiées ajoutées. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Pour un exemple, voir « plusDays ». |
plusDays(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre de jours spécifiés ajoutés. Toutes les fonctions « plus » fonctionnent avec un report de calendrier. Dans l'exemple suivant avec plusDays(70), étant donné que mars compte 31 jours et avril compte 30 jours, 27 jours sont d'abord ajoutés au 4 mars, puis les 43 jours restants sont ajoutés, ce qui donne le 13 mai. Exemple date(2022, 3, 4).plusDays(70) renvoie année = 2022, mois = 5, jour = 13. |
minusYears(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre d'années spécifiées soustraites. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. date(2022, 3, 14).minusYears(20) renvoie année = 2002, mois = 3, jour = 4. |
minusMonths(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre de mois spécifiés soustraits. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Pour un exemple, voir « minusDays ». |
minusWeeks(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre de semaines spécifiées soustraites. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Pour un exemple, voir « minusDays ». |
minusDays(date: Date, amount: Integer) |
Date Renvoie une copie de la date avec le nombre de jours spécifiés soustraits. Toutes les fonctions « moins » fonctionnent avec un report de calendrier. Dans l'exemple suivant avec minusDays(20), étant donné que mars compte 31 jours et février compte 29 jours, 14 jours sont d'abord soustraits du 14 mars, puis les 6 jours restants sont soustraits, ce qui donne le 23 février. Exemple date(2022, 3, 14).minusDays(20) renvoie année = 2022, mois = 2, jour = 23. |
yearsUntil(from: Date, to: Date) |
Entier Renvoie le nombre d'années du premier argument Date vers le deuxième argument Date. Exemple (étant donné que l'année en cours est 2022) date().yearsUntil(date(2023, 11, 12)) renvoie 1. |
monthsUntil(from: Date, to: Date) |
Entier Renvoie le nombre de mois du premier argument Date vers le deuxième argument Date. Pour un exemple, voir « yearsUntil ». |
daysUntil(from: Date, to: Date) |
Entier Renvoie le nombre de jours du premier argument Date vers le deuxième argument Date. Pour un exemple, voir « yearsUntil ». |
weeksUntil(from: Date, to: Date) |
Entier Renvoie le nombre de semaines du premier argument Date vers le deuxième argument Date. Pour un exemple, voir « yearsUntil ». |
isLeapYear(date: Date) |
Booléen Renvoie « vrai » si l'année est bissextile ; sinon, renvoie « faux ». Exemple date(2020, 3, 4).isLeapYear renvoie true car 2020 était une année bissextile. |
text(date: Date) |
Texte Convertit une valeur Date en une représentation textuelle. Exemple text(date(2000, 12, 25)) renvoie 2000-12-25. |
text(date: Date, pattern: Text) |
Texte Convertit une valeur Date en une représentation textuelle correspondant à l'expression rationnelle spécifiée. Exemple text(date(2000, 12, 25), "M/YY/d") renvoie 12/00/25. |
text(date: Date, pattern: Text, locale: Text) |
Texte Convertit une valeur Date en une représentation textuelle correspondant à l'expression rationnelle et le paramètre régional spécifiés. Exemple text(date(2023, 12, 12), "MMMM d, yyyy", "de-DE") renvoie Dezember 12, 2023. |
Fonctions d'heure
Fonction |
Type de résultat |
---|---|
time() |
Temps Renvoie l'heure actuelle. |
time(hours: Integer, minutes: Integer, seconds: Integer) |
Temps Renvoie l'heure avec l'heure, les minutes et les secondes spécifiées. |
time(hours: Integer, minutes: Integer, seconds: Integer, nanos: Integer) |
Temps Renvoie l'heure avec l'heure, les minutes, les secondes et les nanosecondes spécifiées. |
time(dateTime: DateTime) |
Temps Si DateTime est spécifié précédemment, elle renvoie la valeur heure de DateTime. |
time(text: Text, pattern: Text, locale: Text) |
Temps Convertit une valeur Texte en une valeur Temps à l'aide d'une expression rationnelle spécifiée et d'un paramètre régional. Exemple time("January 1, 2022 12:30", "MMMM d, yyyy hh:mm a", "en-US") |
hour(time: Time) |
Entier Renvoie l'heure de l'heure actuelle. |
minute(time: Time) |
Entier Renvoie la minute de l'heure actuelle. |
second(time: Time) |
Entier Renvoie la seconde de l'heure actuelle. |
nanosecond(time: Time) |
Entier Renvoie les nanosecondes de l'heure actuelle. |
withHour(time: Time, hours: Integer) |
Temps Renvoie une copie de l'heure avec l'heure modifiée. Exemple time(14, 50, 45).withHour(2) renvoie heure = 2, minutes = 50, secondes = 45, nanosecondes = 0. |
withMinute(time: Time, minutes: Integer) |
Temps Renvoie une copie de l'heure avec les minutes modifiées. Pour un exemple, voir « withHour ». |
withSecond(time: Time, seconds: Integer) |
Temps Renvoie une copie de l'heure avec les secondes modifiées. Pour un exemple, voir « withHour ». |
withNano(time: Time, nanos: Integer) |
Temps Renvoie une copie de l'heure avec les nanosecondes modifiées. Pour un exemple, voir « withHour ». |
plusHours(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre d'heures spécifiées ajoutées. Exemple time(14, 50, 45).plusHours(2) renvoie heure = 16, minutes = 50, secondes = 45, nanosecondes = 0. |
plusMinutes(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre de minutes spécifiées ajoutées. Pour un exemple, voir « plusHours ». |
plusSeconds(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre de secondes spécifiées ajoutées. Pour un exemple, voir « plusHours ». |
plusNanos(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre de nanosecondes spécifiées ajoutées. Pour un exemple, voir « plusHours ». |
minusHours(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre d'heures spécifiées soustraites. Exemple time(14, 50, 45).minusHours(2) renvoie heure = 12, minutes = 50, secondes = 45, nanosecondes = 0. |
minusMinutes(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre de minutes spécifiées soustraites. Pour un exemple, voir « minusHours ». |
minusSeconds(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre de secondes spécifiées soustraites. Pour un exemple, voir « minusHours ». |
minusNanos(time: Time, amount: Integer) |
Temps Renvoie une copie de l'heure avec le nombre de nanosecondes spécifiées soustraites. Pour un exemple, voir « minusHours ». |
hoursUntil(from: Time, to: Time) |
Entier Renvoie le nombre d'heures du premier argument Heure vers le deuxième argument Heure. Exemple time(9, 41, 35).hoursUntil(time(15, 34, 12)) renvoie 5. |
minutesUntil(from: Time, to: Time) |
Entier Renvoie le nombre de minutes du premier argument Heure vers le deuxième argument Heure. Pour un exemple, voir « hoursUntil ». |
secondsUntil(from: Time, to: Time) |
Entier Renvoie le nombre de secondes du premier argument Heure vers le deuxième argument Heure. Pour un exemple, voir « hoursUntil ». |
millisUntil(from: Time, to: Time) |
Entier Renvoie le nombre de millisecondes du premier argument Heure vers le deuxième argument Heure. Pour un exemple, voir « hoursUntil ». |
nanosUntil(from: Time, to: Time) |
Entier Renvoie le nombre de nanosecondes du premier argument Heure vers le deuxième argument Heure. Pour un exemple, voir « hoursUntil ». |
toSecondsOfDay(time: Time) |
Entier Convertit l'heure en secondes. Exemple time(1, 0, 0).toSecondsOfDay() renvoie 3600. |
toNanosOfDay(time: Time) |
Entier Convertit l'heure en nanosecondes. Exemple time(1, 0, 0).toNanosOfDay() renvoie 3600000000000. |
text(time: Time) |
Texte Convertit une valeur Temps en une représentation textuelle. Exemple text(time(10, 15, 00)) renvoie 10:15:00. |
text(time: Time, pattern: Text) |
Texte Convertit une valeur Temps en une représentation textuelle correspondant à l'expression rationnelle spécifiée. Exemple text(time(10, 15, 00), "hh:m a") renvoie 10:15 AM. |
text(time: Time, pattern: Text, locale: Text) |
Texte Convertit une valeur Temps en une représentation textuelle correspondant à l'expression rationnelle et le paramètre régional spécifiés. Exemple text(time(10, 15, 00), "hh:m a", "de-DE") renvoie 10:15 vorm. |
Fonctions de conversion. Les fonctions de conversion convertissent les valeurs d'un type dans un autre. La conversion peut échouer si la valeur de l'opérande ne représente pas une valeur qui peut être convertie en valeur du type du résultat.
Fonction |
Type de résultat |
---|---|
ampersandEncode(text: Text) |
Texte Perluète code un texte. Exemple ampersandEncode("&") renvoie &. |
ampersandDecode(text: Text) |
Texte Perluète décode un texte. Exemple ampersandDecode(">") renvoie >. |
base64Encode(binaire : Binaire) |
Texte Encodage en base 64 en utilisant l'encodage de transfert base 64 pour MIME (RFC 2045). Exemple binary.base64Encode(), où binary est une variable avec une valeur binaire. |
base64Decode(text: Text) |
Binaire Décodage en base 64 en utilisant l'encodage de transfert en base 64 pour MIME (RFC 2045). Exemple base64Decode("SGVsbG8=").text("UTF8") renvoie Hello. |
boolean(text: Boolean) |
Booléen Le texte doit correspondre à « True » ou à « False ». Exemple boolean(false:Boolean) renvoie false. |
entier(nombre) |
Entier Le nombre doit être une valeur entière, telle que 1.0 |
integer(Text) |
Entier Le texte doit être une représentation textuelle d'un nombre entier, tel que « 42 ». |
number(Integer) |
Nombre number(17) renvoie 17.0. |
number(Text) |
Nombre Le texte doit être une représentation textuelle d'un nombre, tel que « 17.7 ». |
text(Integer) |
Texte |
text(Number) |
Texte |
text(Boolean) |
Texte |
text(binary: Binary, charsetName: Text) |
Texte Convertit une représentation binaire d'un texte en valeur de type Texte. Spécifiez un jeu de caractères, comme UTF8, comme argument. |
binary(text: Text, charsetName: Text) |
Binaire Convertit une valeur texte en valeur binaire. Spécifiez un jeu de caractères, comme UTF8, comme argument. Exemple "Hello".binary("UTF8").text("UTF8") renvoie Hello. "Hello".binary("UTF8") évalue une valeur binaire encodée en utilisant le codage de caractères UTF8. Lorsque la valeur binaire est convertie en texte, comme dans cet exemple, elle doit être encodée en utilisant le même encodage de caractères (UTF8 dans ce cas). |
toJSON() |
Convertit n'importe quel type de valeur, sauf un mot de passe en valeur texte formatée en tant qu'objet JSON. Les types d'enregistrements qui contiennent un attribut de type Password ne peuvent pas être convertis en JSON.
La vue d'état du workflow ne contient pas de barres obliques inverses avant les guillemets. La façon dont la valeur d'enregistrement convertie est indiquée ci-dessus est la façon dont vous devez l'écrire dans une expression.
La fonction toJSON ne peut pas générer un tableau, tel que [1, 2, 3]. Lorsque vous utilisez une valeur JSON dans un robot, vous pouvez créer vous-même la liste par concaténation de chaînes. De cette façon, vous pouvez renvoyer les valeurs du robot au Robot à Moteur Basique. Voir Utiliser JSON pour plus d'informations. |
Le tableau suivant répertorie et décrit des exemples de fonctions de conversion écrites de deux manières : appel de fonction direct, tel que text(2), et appel de méthode, tel que 2.text(). Alors que dans la première variante, la fonction est appelée directement, la deuxième variante permet d'utiliser la saisie de texte lors de l'écriture d'expressions en mode Expression. Pour plus d'informations, consultez Mode Expression plus loin dans cette section.
Exemples | |
---|---|
Fonction |
Retourne le résultat suivant |
ampersandEncode("<b/>") ou "<b/>".ampersandEncode() | <b/> |
ampersandDecode("<b/>") ou "<b/>". ampersandDecode() | <b/> |
base64Encode(bin) ou bin.base64Encode()
où bin est une variable contenant une valeur binaire résultant de "Hello".binary("ASCII") |
SGVsbG8= |
base64Decode("SGVsbG8=").text("UTF8") ou "SGVsbG8=".base64Decode().text("UTF8") | Hello |
|
|
|
2 |
|
2,0 |
number(".1E10") ou ".1E10".number() | 1.0E9 |
"Hello".binary("UTF8").text("UFT8")
où "Hello".binary("UTF8") retourne une valeur binaire encodée en utilisant le codage de caractères UTF8. Lorsque la valeur binaire est convertie en texte, comme dans cet exemple, elle doit être encodée en utilisant le même encodage de caractères (UTF8 dans ce cas). |
Hello |
"hello".JSON() | "hello" |
17.7.toJSON() | 17,7 |
true.toJSON() | true |
Company.toJSON()
où Company est une variable d'un type d'enregistrement contenant les types de champs Texte, Entier et Booléen. |
une valeur texte avec la valeur suivante : {"name":"Acme Corp.", "url":"www.acme-corp.com", "revenue":1000000000, "CEO":"Marvin Acme", "fictional":true} |
Limites des valeurs numériques
- Tenez compte des limites suivantes pour les valeurs numériques :
-
- Entiers
- Le plus grand nombre entier pouvant être représenté est 1E34-1. Il s'agit d'un nombre comportant 34 chiffres neuf. Si vous avez ce nombre et que vous y ajoutez 1, vous obtenez une exception OverflowIssue. De même, la plus petite valeur entière qui peut être représentée est -1E34+1. Ainsi, toutes les valeurs entières doivent se situer entre -1E34+1 et 1E34-1 (les deux inclus).
- Nombres
- La représentation des nombres correspond à la norme IEEE 754R Decimal128 qui utilise 34 chiffres décimaux et une représentation de l'exposant dans la plage comprise entre -2147483648 et +2147483648. Si l'évaluation d'une expression produit un nombre en dehors de la plage, vous obtenez une exception OverflowIssue.
Voir Limites dans les nombres pour plus d'informations.
Il est possible d'entrer des nombres avec un exposant comme suit :
1.234E5, 0.1E-2, 1000.0e42, etc.
Un nombre de base est éventuellement suivi d'un E ou d'un e et d'un exposant entier. Lorsque des nombres sont affichés dans la vue Statut des données ou dans l'éditeur d'expression, ils sont normalisés selon les règles suivantes :
- Un zéro de fin figure après le point décimal s'il n'existe pas d'autres chiffres décimaux, comme 1.0E12
- L'exposant n'est présent que s'il est numériquement supérieur ou égal à 9, à savoir :
-
- 1.0E8 est indiqué sous la forme 100000000, mais 1.0E9 est indiqué sous la forme 1.0E9
- 1.0E-8 est indiqué sous la forme .000000001, mais 1.0E-9 est indiqué sous la forme 1.0E-9
- Tous les chiffres jusqu'au nombre maximum de 34 sont affichés (les chiffres sont arrondis pour disposer d'un maximum de 34 chiffres). Par exemple, le nombre 9,999999999999999999999999999999999 est indiqué tel quel. Si vous ajoutez un 9 à ce nombre, il est indiqué sous la forme 10.0. En fait, la valeur du nombre est arrondie de sorte qu'en interne, elle est également représentée par 10.0. Par conséquent, les nombres peuvent être saisis d'une manière et affichés d'une autre, ce qui ajoute une certaine souplesse dans la manière dont les chiffres peuvent être saisis, comme 10.0 ou 0.1E2.
La fonction de conversion text(Number) retourne également le nombre écrit selon les règles ci-dessus.
Éditeur d'expression
L'éditeur d'expression est un éditeur interactif qui s'ouvre lorsque vous cliquez sur un champ d'entrée dans le robot et que le champ permet de saisir une expression. L'éditeur se compose de deux volets horizontaux. Le volet supérieur est le volet d'entrée pour entrer et modifier l'expression, et le volet inférieur est le volet de résultat. Le volet de résultat peut contenir le résultat de l'évaluation de l'expression, un message d'erreur ou les deux. Les erreurs suivantes peuvent s'afficher :
- Erreurs d'analyse syntaxique : La syntaxe de l'expression est incorrecte.
- Erreurs de frappe : Il existe une erreur de frappe dans l'expression ou le type du résultat n'est pas correct.
- Erreurs d'évaluation : Une erreur s'est produite lors de l'évaluation de l'expression, comme une division par zéro.
Dans l'exemple suivant, l'expression est x + 1.0, où x est une variable de type Entier. Le type de l'expression est correct, mais comme le résultat est attribué à la variable de type Entier, un message d'erreur indique que le type de résultat de l'expression n'est pas celui attendu.

Vous pouvez copier le résultat de l'expression et le message d'erreur depuis le volet inférieur de l'éditeur en cliquant avec le bouton droit de la souris et en sélectionnant Copier la valeur. Si la valeur est un type d'enregistrement, le résultat s'affiche sous la forme d'une arborescence, et chaque valeur d'attribut peut être copiée séparément. Les valeurs Mot de passe et binaires ne peuvent pas être copiées.
Pour fermer l'éditeur d'expression, cliquez à l'extérieur de ce dernier ou appuyez sur Échap.
- Modes d'édition
- L'éditeur dispose d'un bouton de mode à gauche du volet supérieur qui permet de passer du mode Expression au mode Valeur. L'éditeur de l'illustration ci-dessus est en mode Expression. Lorsque l'éditeur est en mode Valeur, le bouton de mode est vide. Lorsque l'éditeur est en mode Expression, le bouton affiche le signe égal (=). Vous pouvez utiliser le raccourci clavier Ctrl-E pour basculer entre les deux modes.
- Mode Valeur
- En mode Valeur, la valeur entrée est simplement interprétée comme une valeur, telle qu'un texte, une valeur booléenne, un nombre, etc. et aucune évaluation n'a lieu. Le panneau du résultat montre le résultat. La seule erreur qui peut y être affichée est un type de résultat incorrect.
- Mode d'expression
-
En mode Expression, tout ce que vous tapez dans le panneau d'entrée est interprété comme une expression et vérifié pour rechercher les erreurs de syntaxe et de type. Si vous modifiez une expression au point de flux actuel et qu'il n'existe pas d'erreurs, elle est évaluée et son résultat s'affiche. L'évaluation se fait pendant que vous tapez, de sorte que vous savez toujours quel est l'état de votre expression. Si vous modifiez une expression qui n'est pas au point de flux actuel, elle est évaluée si elle ne contient aucune variable, c'est-à-dire si sa valeur ne dépend pas de l'état actuel.
S'il existe une erreur lors de l'évaluation d'une expression, par exemple, division par zéro, le volet Résultat le signale en affichant le nom de l'exception et un message décrivant le problème. Vous pouvez copier le nom de l'exception en cliquant avec le bouton droit de la souris et en sélectionnant Copier la valeur.
La saisie de texte en mode Expression permet de saisir les noms des variables, les noms des champs et les noms des fonctions. La fenêtre de saisie de texte apparaît automatiquement lorsque vous tapez quelque chose ayant une aide à la saisie. Par exemple, si vous commencez à taper un nom de variable et que vous avez déjà tapé une variable commençant par les mêmes caractères, la fenêtre de saisie apparaît. Si vous insérez un point (.) après une variable de type d'enregistrement, la fenêtre de saisie affiche une liste d'options de saisie correspondant aux champs de type d'enregistrement. L'exemple suivant montre l'aide à la saisie après avoir tapé « p ».
Si vous insérez un point (.) après une sous-expression de type simple, la fenêtre de saisie affiche une liste d'options de saisie correspondant à la fonction pour laquelle le premier argument a le même type simple.
Pour naviguer dans les options de la liste de saisie, utilisez les touches fléchées ou une souris. Pour sélectionner une option dans la liste de saisie, appuyez sur Entrée, Tabulation ou double-cliquez sur l'option. Pour ouvrir la fenêtre de saisie sans rien taper, appuyez sur Ctrl+Espace. Pour fermer la fenêtre de saisie, cliquez à l'extérieur de la fenêtre ou appuyez sur la touche Échap.
Si une partie d'une expression est sélectionnée dans le volet de saisie et que cette sélection correspond à une sous-expression correcte (qui peut être évaluée seule), la valeur de la sous-expression est indiquée dans le volet des résultat, comme dans l'illustration suivante.
Si vous sélectionnez le nom d'une fonction dans le volet de saisie, la description de la fonction s'affiche dans le volet de résultat.