Expansion $ comprenant des paramètres
Les expansions $ admettent l'utilisation de paramètres. La variable doit alors contenir des paramètres formels tels que $1, $2, $3, etc. Lors de l'expansion de la variable, les paramètres doivent être indiqués dans une liste et séparés par des virgules.
Set MUL=’$1*$2’;
Set X=$(MUL(3,7)); // renvoie '3*7' dans X
Let X=$(MUL(3,7)); // renvoie 21 dans X
Si le nombre de paramètres formels dépasse le nombre de paramètres réels, seuls les paramètres formels correspondant à des paramètres réels sont développés. Si le nombre de paramètres réels dépasse le nombre de paramètres formels, les paramètres réels superflus sont ignorés.
Set MUL=’$1*$2’;
Set X=$(MUL); // renvoie '$1*$2' dans X
Set X=$(MUL(10)); // renvoie '10*$2' dans X
Let X=$(MUL(5,7,8)); // renvoie 35 dans X
Le paramètre $0 renvoie le nombre de paramètres effectivement transmis par un appel.
set MUL='$1*$2 $0 par';
set X=$(MUL(3,7)); // renvoie '3*7 2 par' dans X