Rexx-functions
提供:Dev Guides
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
上記のプログラムについては、次のことに注意する必要があります-
- 2つのパラメーターaとbを受け入れるaddという関数を定義しています。
- 関数は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(インデックス)
このメソッドは、特定の位置にある引数の値を返すために使用されます。
構文-
arg(index)
パラメータ-
- 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