Rexx-기능

Rexx의 코드는 일반적으로 함수와 서브 루틴으로 나뉩니다. 함수를 사용하면 코드를 더 많은 논리 단위로 분리하는 데 도움이됩니다. 이러한 기능을 자세히 살펴 보겠습니다.

함수 정의

함수 선언의 구문은 다음과 같습니다.

FunctionName: 
PARSE ARG arguement1, arguement2… arguementN 
Return value

어디,

  • FunctionName − 기능에 할당 된 이름입니다.

  • PARSE ARG − 매개 변수가 함수로 전달되고 있음을 언급하는 데 사용되는 Rexx의 키워드입니다.

  • arguement1, arguement2… arguementN − 함수에 전달 된 인수입니다.

  • Return value − 함수가 반환하는 값입니다.

다음 프로그램은 Rexx에서 함수를 사용하는 방법에 대한 간단한 예입니다.

/* Main program */ 
say add(5,6) 
exit 
add: 
PARSE ARG a,b 
return a + b

위의 프로그램에 대해 다음 사항에 유의해야합니다.

  • 우리는 2 개의 매개 변수 a와 b를 받아들이는 add라는 함수를 정의하고 있습니다.

  • 이 함수는 return 문을 사용하여 a와 b의 합계를 반환합니다.

  • 메인 프로그램의 끝을 나타 내기 위해 exit 문을 사용해야합니다.

위 프로그램의 출력은 다음과 같습니다.

11

인수 작업

Rexx에는 인수와 함께 작동하도록 만들 수있는 특정 함수가 있습니다. 그러한 주장 몇 가지를 살펴 보겠습니다.

arg

이 메서드는 함수에 대해 정의 된 인수 수를 반환하는 데 사용됩니다.

Syntax

arg()

Parameters − 없음

Return Value −이 메서드는 함수에 대해 정의 된 인수의 수를 반환합니다.

Example

/* Main program */ 
say add(5,6) 
exit 
add: 
PARSE ARG a,b 

say arg() 
return a + b

Output − 위 프로그램을 실행하면 다음과 같은 결과가 나옵니다.

2 
11

arg (인덱스)

이 메서드는 특정 위치의 인수 값을 반환하는 데 사용됩니다.

Syntax

arg(index)

Parameter

  • Index − 반환 될 인수의 인덱스 위치.

Return Value −이 메서드는 특정 위치의 인수 값을 반환합니다.

Example

/* Main program */ 
say add(5,6) 
exit 
add: 
PARSE ARG a,b 

say arg(1) 
return a + b

Output − 위 프로그램을 실행하면 다음과 같은 결과가 나옵니다.

5 
11

재귀 함수

재귀 함수 또는 루틴은 자신을 호출하는 함수입니다. 모든 재귀 함수는 기존의 비재 귀적 방식으로 (또는 반복적으로) 코딩 될 수 있지만 때로는 재귀가 더 나은 문제 솔루션을 제공합니다. 모든 프로그래밍 언어가 재귀를 지원하는 것은 아닙니다. Rexx는 그렇습니다.

Rexx에서 재귀 함수를 사용하는 유명한 계승 프로그램의 예를 살펴 보겠습니다.

/* 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 )

위 프로그램의 출력은 다음과 같습니다.

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