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