便利な関数
REXX は、文字操作および変換関数など、豊富な組み込み関数を提供しています。こうした関数の一部は、比較式を記述するときに利用できるものがあり、以下で説明します。File Manager も使用可能な関数を提供しています。それらの関数についても後で説明します。関数を呼び出すには、関数名に続いて括弧の中に 1 つ以上の引数を指定します。関数名と左括弧の間には、スペースを置きません。例:
function(arguments)
関数呼び出しには、コンマで区切って、最大 20 個までの引数を指定できます。各引数は次のうちの 1 つ以上になります。
- 引数
- 例
- 空白
- function( )
- Constant
- function(55)
- シンボル
- function(#5)
- リテラル・ストリング
- function('With a literal string')
- 関数が認識するオプション
- function(option)
- 関数の追加
- function(function(arguments))
- 引数タイプの組み合わせ
- function('Literal string', #5, option)
REXX が提供する組み込み関数のうち、有用と思われるものをいくつか紹介します。
- ABS()
図 1. Syntax number の絶対値を戻します。例えば、フィールド
#12
に、-10 から +10 までの範囲の値が入っているレコードを選択したいときには、次のように指定できます。ABS(#12) <= 10
- MAX()
図 2. Syntax 指定されたリストの中から最も大きい数値を戻します。例えば、フィールド
#10, #11,
または#12
のいずれかに、55 より大きい値が入っているレコードを選択したいときには、次のように指定できます。MAX(#10, #11, #12) > 55
- MIN()
図 3. Syntax 指定されたリストの中から最も小さい数値を戻します。例えば、フィールド
#10, #11,
または#12
のいずれかに 0 より小さい値が入っているレコードを選択したいときには、次のように指定できます。MIN(#10, #11, #12) < 0
- POS()
図 4. Syntax ストリング needle の、別のストリング haystack 内の位置を戻します。needle がヌル・ストリングの場合、haystack にない場合、または start が haystack の長さより大きい場合には、0 を戻します。デフォルトでは、haystack の先頭文字から検索を始めます (つまり、start の値が 1)。検索の開始位置 start (正の整数でなければなりません) を指定して、 このデフォルトを変更することができます。例えば、フィールド
#22
内のいずれかの文字がブランクであるレコードを選択する場合、次のように指定できます。POS(' ',#22) > 0
。- SUBSTR()
図 5. Syntax string の n 番目の文字から始まる、長さ length のサブストリングを、必要な場合には pad を埋め込んで、戻します。n は正の整数です。n が string の長さより大きい場合は、埋め込み文字だけを戻します。
length を指定しないと、ストリングの残り部分が戻されます。デフォルトの pad 文字はブランクです。
例えば、フィールド#22
の 4 番目から 6 番目の文字が、ストリング「NOT」であるレコードを選択したいときには、次のように指定できます。SUBSTR(#22,4,3) == 'NOT'
File Manager が提供する関数で、有用と思われるものをいくつか紹介します。