Rexx - Subrutinas

En cualquier lenguaje de programación, todo el programa se divide en módulos lógicos. Esto facilita la escritura de código que se puede mantener fácilmente. Este es un requisito básico para cualquier lenguaje de programación.

En Rexx, los módulos se pueden escribir usando subrutinas y funciones. Veamos las subrutinas en detalle.

Definición de una subrutina

La sintaxis de una declaración de función es la siguiente:

FunctionName: 
   Statement#1 
   Statement#2 
   …. 
   Statement#N

Dónde,

  • FunctionName - Este es el nombre asignado a la subrutina.

  • Statement#1 .. Statement#N - Éstas son la lista de declaraciones que componen la subrutina.

El siguiente programa es un ejemplo simple que muestra el uso de subrutinas.

/* Main program */ 
call add 
exit 
add: 
a = 5 
b = 10 
c = a + b 
say c

Se deben tener en cuenta las siguientes cosas sobre el programa anterior:

  • Estamos definiendo una subrutina llamada add.

  • La subrutina tiene una funcionalidad de adición simple.

  • La declaración de salida debe usarse para indicar el final del programa principal.

El resultado del programa anterior sería el siguiente:

15

Trabajar con argumentos

También es posible trabajar con argumentos en Rexx. El siguiente ejemplo muestra cómo se puede lograr esto.

/* Main program */ 
call add 1,2 
exit 
add: 
PARSE ARG a,b 
c = a + b 
say c

Se deben tener en cuenta las siguientes cosas sobre el programa anterior:

  • Estamos definiendo una subrutina llamada add que toma 2 parámetros.

  • En las subrutinas, los 2 parámetros se analizan utilizando la palabra clave PARSE y ARG.

El resultado del programa anterior sería el siguiente:

3

Diferentes métodos de argumentación

Veamos algunos otros métodos disponibles para argumentos.

arg

Este método se utiliza para devolver el número de argumentos definidos para la subrutina.

Syntax -

arg()

Parameters - Ninguno

Return Value - Este método devuelve el número de argumentos definidos para la subrutina.

Example -

/* Main program */ 
call add 1,2 
exit 
add: 
PARSE ARG a,b 

say arg() 
c = a + b 
say c

Cuando ejecutamos el programa anterior obtendremos el siguiente resultado.

2 
3

arg (índice)

Este método se utiliza para devolver el valor del argumento en la posición específica.

Syntax -

arg(index)

Parameters

  • Index - Posición de índice del argumento a devolver.

Return Value - Este método devuelve el valor del argumento en la posición específica.

Example -

/* Main program */ 
call add 1,2 
exit 
add: 
PARSE ARG a,b 

say arg(1) 
c = a + b 
say c

Cuando ejecutamos el programa anterior obtendremos el siguiente resultado.

1 
3