Uitbreiding met dollarteken met parameters
Parameters kunnen worden gebruikt in uitbreidingen met een dollarteken. Dit maakt een dynamische evaluatie van de variabele mogelijk.
De variabele die is gemaakt voor gebruik in de uitbreiding moet formele parameters bevatten. Een formele parameter is een tijdelijke aanduiding voor de invoer naar de evaluatie en wordt geschreven met een dollarteken: $1, $2, $3. Het getal geeft het parameternummer aan.
Bij het gebruik van de variabele moeten de werkelijke parameters worden opgegeven in een door komma's gescheiden lijst.
Voorbeelden: Parameters in uitbreidingen met een dollarteken
Als u een vermenigvuldiging tussen twee getallen wilt opgeven, kunt u het volgende schrijven:
Set MUL= $1*$2 ;
Dit geeft aan dat $1 en $2 met elkaar moeten worden vermenigvuldigd. Als deze variabele wordt gebruikt, moet die uitgebreid zijn met een dollarteken en moeten in de uitdrukking waarden voor $1 en $2 zijn opgenomen:
Set X= $( MUL(3,7) ) ;
De waarden (3 en 7) zijn werkelijke parameters die $1 en $2 in de uitbreiding vervangen. De uitbreiding wordt gemaakt voordat de opdrachtset wordt geparseerd en uitgevoerd, wat betekent dat de script-parser het volgende ziet:
Set X= 3*7 ;
Als een gevolg daarvan, wordt aan de variabele X de tekenreekswaarde toegekend: 3*7.
Als u een Let- in plaats van een Set-opdracht gebruikt:
Let X= $( MUL(3,7) ) ;
De parser ziet het volgende:
Let X= 3*7 ;
Hier wordt een evaluatie gemaakt en aan X wordt de numerieke waarde toegekend: 21.
Aantal parameters
Als het aantal formele parameters groter is dan het aantal werkelijke parameters, worden alleen de formele parameters uitgebreid die corresponderen met werkelijke parameters. Als het aantal werkelijke parameters groter is dan het aantal formele parameters, worden de overtollige werkelijke parameters genegeerd.
Voorbeelden: Formele parameters versus werkelijke parameters
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
De $0 parameter
De parameter $0 retourneert het aantal parameters dat is doorgegeven door een aanroep.
Voorbeeld: Foutverwerking introduceren
Set MUL= If($0=2, $1*$2, 'Error') ;