Rexx - Sub-rotinas

Em qualquer linguagem de programação, todo o programa é dividido em módulos lógicos. Isso torna mais fácil escrever código que pode ser mantido facilmente. Este é um requisito básico para qualquer linguagem de programação.

No Rexx, os módulos podem ser escritos usando sub-rotinas e funções. Vejamos as sub-rotinas em detalhes.

Definindo uma sub-rotina

A sintaxe de uma declaração de função é a seguinte -

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

Onde,

  • FunctionName - Este é o nome atribuído à sub-rotina.

  • Statement#1 .. Statement#N - Estas são a lista de afirmações que compõem a sub-rotina.

O programa a seguir é um exemplo simples que mostra o uso de sub-rotinas.

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

As seguintes coisas devem ser observadas sobre o programa acima -

  • Estamos definindo uma sub-rotina chamada add.

  • A sub-rotina faz uma funcionalidade de adição simples.

  • A instrução de saída deve ser usada para significar o fim do programa principal.

A saída do programa acima seria a seguinte -

15

Trabalhando com Argumentos

Também é possível trabalhar com argumentos no Rexx. O exemplo a seguir mostra como isso pode ser alcançado.

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

As seguintes coisas devem ser observadas sobre o programa acima -

  • Estamos definindo uma sub-rotina chamada add que assume 2 parâmetros.

  • Nas sub-rotinas, os 2 parâmetros são analisados ​​usando as palavras-chave PARSE e ARG.

A saída do programa acima seria a seguinte -

3

Métodos Diferentes para Argumentos

Vejamos alguns outros métodos disponíveis para argumentos.

arg

Este método é usado para retornar o número de argumentos definidos para a sub-rotina.

Syntax -

arg()

Parameters - nenhum

Return Value - Este método retorna o número de argumentos definidos para a sub-rotina.

Example -

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

say arg() 
c = a + b 
say c

Quando executamos o programa acima, obteremos o seguinte resultado.

2 
3

arg (índice)

Este método é usado para retornar o valor do argumento na posição específica.

Syntax -

arg(index)

Parameters

  • Index - Posição do índice do argumento a ser retornado.

Return Value - Este método retorna o valor do argumento na posição específica.

Example -

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

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

Quando executamos o programa acima, obteremos o seguinte resultado.

1 
3