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