$map¶
La description:
Itère sur chaque élément trouvé dans la variable à valeurs multiples nom
et met à jour la valeur de l’élément à la valeur renvoyée par code
, renvoyant la variable à valeurs multiples mise à jour. Une valeur littérale représentant une valeur multiple peut être remplacée par nom
, en utilisant le séparateur
(ou un point-virgule suivi d’un espace « ; » s’il n’est pas passé) pour contraindre la valeur à une valeur multiple appropriée variable.
Pour chaque boucle, la valeur de l’élément est d’abord stockée dans la variable _loop_value
et le décompte est stocké dans la variable _loop_count
. Cela permet d’accéder à l’élément ou à la valeur de comptage dans le script de code.
Note
Vous ne pouvez pas enregistrer le code
dans une variable puis passer la variable à la fonction en tant que %code%
car il sera évalué lorsqu’il sera affecté à la variable plutôt que pendant la boucle.
Exemple:
Les instructions suivantes renverront les valeurs indiquées:
$set(foo,First:A; Second:B)
$map(%foo%,$upper(%_loop_count%=%_loop_value%)) ==> "1=FIRST:A; SECOND:B"
$map(%foo%,$upper(%_loop_count%=%_loop_value%),:) ==> "1=FIRST:2=A; SECOND:3=B"
$setmulti(bar,First:A; Second:B)
$map(%bar%,$upper(%_loop_count%=%_loop_value%)) ==> "1=FIRST:A; 2=SECOND:B"
$map(%bar%,$upper(%_loop_count%=%_loop_value%),:) ==> "1=FIRST:2=A; SECOND:3=B"
$map(First:A; Second:B,
$upper(%_loop_count%=%_loop_value%)) ==> "1=FIRST:A; 2=SECOND:B"
$map(First:A; Second:B,
$upper(%_loop_count%=%_loop_value%),:) ==> "1=FIRST:2=A; SECOND:3=B"