RESIZE |
|
dynamic-clause |
|
[GIVINGoperand5] |
| array-clause |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連機能グループ:ダイナミック変数または X-array のメモリ管理制御。
RESIZE ステートメントは、次を調整するために使用します。
ダイナミック変数(dynamic-clause)のサイズ、または
X-array(array-clause)のオカレンス数
詳細については、『プログラミングガイド』の次のセクションを参照してください。
オペランド定義テーブル:
| オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 |
S | A | A | U | B | × | × | |||||||||||||
operand2 |
C | S | I | × | × | |||||||||||||||
operand3 |
A | G | A | U | N | P | I | F | B | D | T | L | C | G | O | ○ | × | |||
operand4 |
C | S | N | P | I | × | × | |||||||||||||
operand5 |
S | I4 | × | ○ | ||||||||||||||||
構文要素の説明:
| 構文要素 | 説明 |
|---|---|
dynamic-clause |
DYNAMIC 節:
|
operand1 |
調整されるダイナミック変数:
|
operand2 |
新しい長さの指定:
|
array-clause |
ARRAY 節:
|
operand3 |
X-array の名前:
|
dim
|
X-array の下限と上限:
X-array 拡張の上下限表記( |
GIVING
operand5 |
GIVING 節:
|
[SIZE OF] DYNAMIC [VARIABLE] operand1 TO operand2 |
RESIZE DYNAMIC ステートメントは、ダイナミック変数(operand1)の割り当てられている長さを、operand2 で指定した値に調整します。
RESIZE ステートメントを使用した場合、現在割り当てられているストレージサイズが、増減のどちらが必要であるかに関係なく、要求された値に調整されます。
[AND RESET] [OCCURRENCES OF] ARRAY operand3TO (dim[,dim[,dim]]) |
RESIZE ARRAY ステートメントは、X-array(operand3)のオカレンス数を、(dim[,dim[,dim]]) で指定した上下限に調整します。
RESET オプションは、サイズ変更した X-array のすべてのオカレンスをデフォルトのゼロ値にリセットします。デフォルト(RESET オプションなし)では、実際の値は保持され、サイズ変更した(新しい)オカレンスがリセットされます。
RESIZE ステートメントで使用される上限または下限は、配列に定義された対応する上限または下限と正確に同じである必要があります。
DEFINE DATA LOCAL
1 #a(I4/1:*)
1 #g(1:*)
2 #ga(I4/1:*)
1 #i(i4)
END-DEFINE
...
*/ resizing #a (1:10)
RESIZE ARRAY #a TO (1:10) /* #a is resized to
RESIZE ARRAY #a TO (*:10) /* 10 occurrences.
/* resizing #ga (1:10,1:20)
RESIZE ARRAY #g TO (1:10) /* 1st dimension is set to (1:10)
RESIZE ARRAY #ga TO (*:*,1:20) /* 1st dimension is dependent and
/* therefore kept with (*:*)
/* 2nd dimension is set to (1:20)
RESIZE ARRAY #a TO (5:10) /* This is rejected because the lower index
/* must be 1 or *
RESIZE ARRAY #a TO (#i:10) /* This is rejected because the lower index
/* must be 1 or *
RESIZE ARRAY #ga TO (1:10,1:20) /* (1:10) for the 1st dimension is rejected
/* because the dimension is dependent and
/* must be specified with (*:*).
詳細については、『プログラミングガイド』の次のセクションを参照してください。
Array 節で指定する各次元(dim)は、次の構文を使用して定義します。
|
|
* |
|
||||||
|
|
|
|
: |
|
|
|
||
X-array 拡張の上下限表記(operand4 またはアスタリスク)は、ここで指定します。現在の上下限の値を使用する必要がある場合は、operand4 の代わりにアスタリスク(*)を指定できます。*:* の代わりに単一のアスタリスクを指定できます。
次元数(dim)は、X-array(1、2、または 3)と正確に一致している必要があります。