Rexx - Funktionen
Der Code in Rexx ist normalerweise in Funktionen und Unterprogramme unterteilt. Die Verwendung von Funktionen hilft bei der Trennung des Codes in viel mehr logische Einheiten. Schauen wir uns diese Funktionen im Detail an.
Funktion definieren
Die Syntax einer Funktionsdeklaration lautet wie folgt:
FunctionName:
PARSE ARG arguement1, arguement2… arguementN
Return value
Wo,
FunctionName - Dies ist der der Funktion zugewiesene Name.
PARSE ARG - Dies sind Schlüsselwörter in Rexx, mit denen erwähnt wird, dass Parameter an die Funktion übergeben werden.
arguement1, arguement2… arguementN - Dies sind die Argumente, die an die Funktion übergeben werden.
Return value - Dies ist der von der Funktion zurückgegebene Wert.
Das folgende Programm ist ein einfaches Beispiel für die Verwendung von Funktionen in Rexx.
/* Main program */
say add(5,6)
exit
add:
PARSE ARG a,b
return a + b
Die folgenden Dinge sollten über das obige Programm beachtet werden -
Wir definieren eine Funktion namens add, die 2 Parameter a und b akzeptiert.
Die Funktion verwendet die return-Anweisung, um die Summe von a und b zurückzugeben.
Die exit-Anweisung muss verwendet werden, um das Ende des Hauptprogramms anzuzeigen.
Die Ausgabe des obigen Programms wäre wie folgt:
11
Mit Argumenten arbeiten
In Rexx gibt es bestimmte Funktionen, mit denen mit Argumenten gearbeitet werden kann. Schauen wir uns einige solcher Argumente an.
arg
Diese Methode wird verwendet, um die Anzahl der für die Funktion definierten Argumente zurückzugeben.
Syntax - -
arg()
Parameters - Keine
Return Value - Diese Methode gibt die Anzahl der für die Funktion definierten Argumente zurück.
Example - -
/* Main program */
say add(5,6)
exit
add:
PARSE ARG a,b
say arg()
return a + b
Output - Wenn wir das obige Programm ausführen, erhalten wir das folgende Ergebnis.
2
11
arg (Index)
Diese Methode wird verwendet, um den Wert des Arguments an der bestimmten Position zurückzugeben.
Syntax - -
arg(index)
Parameter - -
Index - Indexposition des zurückzugebenden Arguments.
Return Value - Diese Methode gibt den Wert des Arguments an der spezifischen Position zurück.
Example - -
/* Main program */
say add(5,6)
exit
add:
PARSE ARG a,b
say arg(1)
return a + b
Output - Wenn wir das obige Programm ausführen, erhalten wir das folgende Ergebnis.
5
11
Rekursive Funktionen
Eine rekursive Funktion oder Routine ruft sich selbst auf. Jede rekursive Funktion kann auf herkömmliche nicht rekursive Weise (oder iterativ) codiert werden, aber manchmal bietet die Rekursion eine bessere Problemlösung. Nicht alle Programmiersprachen unterstützen die Rekursion. Rexx tut es.
Sehen wir uns ein Beispiel für das berühmte Fakultätsprogramm mit rekursiven Funktionen in Rexx an.
/* Main program */
do n = 1 to 5
say 'The factorial of' n 'is:' factorial( n )
end
return
/* Function to get factorial */
factorial : procedure
n = arg(1)
if n = 1 then
return 1
return n * factorial( n - 1 )
Die Ausgabe des obigen Programms ist wie folgt:
The factorial of 1 is: 1
The factorial of 2 is: 2
The factorial of 3 is: 6
The factorial of 3 is: 24
The factorial of 3 is: 120