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