ベクトル項目の指定したセルのデータを更新します。
|
|
VecSet(ベクトル項目、セルインデックス、値)
|
|
|
|
論理値 …… 処理に成功した場合「True」が返ります。
以下の場合、処理が失敗します。
-
ベクトル項目でない場合
-
セルインデックスが負の場合
|
|
VecSet('B'VAR,1,'a')
|
|
項目B の最初のセルに「a」を設定します。
|
|
-
ベクトル項目以内のx番目のセルに値を設定する必要がある場合、セルxに値を入力し、次にすべてのセルを更新することを推奨します。これによって、(値が新しいセルに追加されるたびに、メモリーを割り当てる代わりに)すぐにメモリーをベクトルに割り当てられます。
-
ベクトルの配分は、そのサイズに依存します。
-
998番目のセルに値がない場合でも、VecSet関数のセルインデックスで"999"を指定した場合、999番目にセルを割り当てます。
-
ベクトルのポインターをNULL()関数で更新することで、ベクトルの割当てを取り消すことができます。
-
ベクトルの終端(たとえば、1000セルを持つベクトルから最後の500セル)を解放する方法はありません。
-
NULL()関数で更新すると、全ベクトル全体が消去されます。
-
NULLでベクトルを更新しても、メモリーに即反映される訳ではありません。この種の更新は、無効なポインターを残し、ガーベージコレクターはメモリーを解放する必要があります。さらに、OSは、プロセスのサイズをすぐに減らすことはないでしょう。ベクトルを使用して動作することは、メモリテーブルを使用して動作することと同じようになります。同じ説明は、Magic xpaのBLOB項目のメモリ処理にも当てはまります。
つまり、セルの値を0またはNULLで更新したとしてもl、メモリの消費量を減らすことができません。ベクトルは完全に解放される必要があります、その際、OSもメモリ解放のタイミングで役割を担います。
|
|
ベクトルデータ
|