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