Expansion $ comprenant des paramètres

Les expansions $ admettent l'utilisation de paramètres. La variable doit alors contenir des paramètres formels comme $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.

Exemple :  

Set MUL=’$1*$2’;

Set X=$(MUL(3,7)); // renvoie '3*7' dansX

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.

Exemple :  

Set MUL=’$1*$2’;

Set X=$(MUL); // renvoie '$1*$2' dans X

Set X=$(MUL(10)); // renvoie '10*$2' dansX

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.

Exemple :  

set MUL='$1*$2 $0 par'; 

set X=$(MUL(3,7)); // renvoie '3*7 2 par' dans X