Espansione con simbolo del dollaro con i parametri
I parametri possono essere utilizzati nelle espansioni con simbolo del dollaro. Ciò rende possibile avere una valutazione dinamica della variabile.
La variabile creata per l'uso nell'espansione deve contenere parametri formali. Un parametro formale è un segnaposto per l'input per la valutazione ed è scritto con un simbolo del dollaro: $1, $2, $3. Il numero indica il numero di parametro.
Quando si utilizza la variabile, i parametri devono essere dichiarati in un elenco separato da virgole.
Esempi: Parametri nelle espansioni con simbolo del dollaro
Se si desidera definire una moltiplicazione tra due numeri, è possibile scrivere:
Set MUL= $1*$2 ;
Ciò definisce che $1 e $2 devono essere moltiplicati l'uno con l'altro. Quando utilizzata, questa variabile deve essere espansa con il simbolo del dollaro con valori per $1 e $2 inseriti nell'espressione:
Set X= $( MUL(3,7) ) ;
I valori 3 e 7 sono i parametri effettivi che sostituiscono $1 e $2 nell'espansione. Questa espansione viene effettuata prima che l'istruzione set venga analizzata ed eseguita, ciò significa che il parser dello script vede quanto segue:
Set X= 3*7 ;
Di conseguenza, alla variabile X verrà assegnato il valore della stringa: 3*7.
Se si utilizza un Let al posto dell'istruzione Set:
Let X= $( MUL(3,7) ) ;
Il parser visualizzerà quanto segue:
Let X= 3*7 ;
Qui verrà effettuata una valutazione, e a X verrà assegnato il valore numerico 21.
Numero di parametri
Se il numero di parametri formali supera il numero di parametri reali, verranno estesi solo i parametri formali corrispondenti ai parametri reali. Se il numero di parametri reali supera il numero di parametri formali, i parametri reali superflui verranno ignorati.
Esempi: Parametri formali versus parametri effettivi
Set MUL= '$1*$2' ;
Set X= $(MUL) ; // returns $1*$2 in X
Set X= $(MUL(10)) ; // returns 10*$2 in X
Let X= $(MUL(5,7,8)) ; // returns 35 in X
Il parametro $0
Il parametro $0 restituisce il numero di parametri realmente trasmessi da una chiamata.
Esempio: Come introdurre la gestione degli errori
Set MUL= If($0=2, $1*$2, 'Error') ;