ARG (引数)
ARG 関数は、プログラムまたは内部ルーチンに対する引数ストリングに関する情報、あるいは引数ストリングを 戻します。
n を指定しないと、プログラムまたは内部ルーチンに渡される引数の数が返ります。
n だけを指定した場合は、n 番目の引数ストリングが戻されます。 引数ストリングが存在しない場合には、ヌル・ストリングが戻されます。 n は、正の整数でなければなりません。
option を指定すると、ARG は n 番目の引数ストリングがあるかどうか調べます。 有効なオプションを以下に示します。 (大文字で強調表示された文字だけが必要であり、
後続の文字はすべて無視されます。)
- Exists
- n番目の引数が存在する場合、つまりルーチンが呼び出された際に明示的に指定された場合、
1を返します。 それ以外の場合は、0が戻ります。 - Omitted
- n番目の引数が省略された場合、つまりルーチンが呼び出された際に明示的に指定されなかった場合、
1が返されます。 それ以外の場合は、0が戻ります。
例
/* following "Call name;" (no arguments) */
ARG() -> 0
ARG(1) -> ''
ARG(2) -> ''
ARG(1,'e') -> 0
ARG(1,'O') -> 1
/* following "Call name 'a',,'b';" */
ARG() -> 3
ARG(1) -> 'a'
ARG(2) -> ''
ARG(3) -> 'b'
ARG(n) -> '' /* for n>=4 */
ARG(1,'e') -> 1
ARG(2,'E') -> 0
ARG(2,'O') -> 1
ARG(3,'o') -> 0
ARG(4,'o') -> 1
注:
- 引数文字列の数は、明示的な引数文字列が存在しない場合に
ARG(n,'e')が1または0を返す最大の数値n です。 つまり、これは、明示的に指定された最後の引数ストリングの位置です。 - コマンドとして呼び出されるプログラムの場合、引数ストリングは 1 つまたは無しです。 名前だけで呼び出されるプログラムの場合は、引数ストリングは無しで、 コマンドにその他 (ブランクを含む) が付く場合は、引数ストリングは 1 個になります。
- ユーザーは、ARG または PARSE ARG 命令を用いて、引数ストリングを検索 して、プログラムまたは内部ルーチンに対してそれらを直接分析する こともできます。 (ARG 、PARSE、および構文解析を参照)
