Rexx - 函式



Rexx 中的程式碼通常被分成函式和子程式。使用函式有助於將程式碼分割成更多邏輯單元。讓我們詳細瞭解這些函式。

定義函式

函式宣告的語法如下:

FunctionName: 
PARSE ARG arguement1, arguement2… arguementN 
Return value 

其中,

  • FunctionName - 這是分配給函式的名稱。

  • PARSE ARG - 這些是 Rexx 中的關鍵字,用於表示正在向函式傳遞引數。

  • arguement1, arguement2… arguementN - 這些是傳遞給函式的引數。

  • 返回值 - 這是函式返回的值。

以下程式是一個簡單的示例,演示瞭如何在 Rexx 中使用函式。

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

關於以上程式,應注意以下幾點:

  • 我們正在定義一個名為 add 的函式,它接受 2 個引數 a 和 b。

  • 該函式使用 return 語句返回 a 和 b 的和。

  • 必須使用 exit 語句來表示主程式的結束。

以上程式的輸出如下:

11

使用引數

在 Rexx 中,有一些特定的函式可以與引數一起使用。讓我們來看幾個這樣的引數。

arg

此方法用於返回為函式定義的引數數量。

語法 -

arg() 

引數 - 無

返回值 - 此方法返回為函式定義的引數數量。

示例 -

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

say arg() 
return a + b 

輸出 - 當我們執行以上程式時,將得到以下結果。

2 
11 

arg(index)

此方法用於返回特定位置的引數值。

語法 -

arg(index)

引數 -

  • 索引 - 要返回的引數的索引位置。

返回值 - 此方法返回特定位置的引數值。

示例 -

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

say arg(1) 
return a + b 

輸出 - 當我們執行以上程式時,將得到以下結果。

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 
廣告

© . All rights reserved.