MVDIM
Synopsis
MVDIM:pc array(rows,columns)
引数
pc | オプション — 後置条件式。詳細は、"Caché ObjectScript の使用法" の "コマンド後置条件式" を参照してください。 |
array | 配列名。MVBasic 変数の の標準的な名前付け規約に従います。 |
rows | 1 次元配列のディメンジョンに配列要素の番号を指定する整数。または、2 次元配列のディメンジョンに行番号を指定する整数。 |
columns | オプション — 2 次元 (マトリックス) 配列の場合は、行ごとの列数を指定する整数。オプションの行引数と併用した場合のみ使用できます。 |
説明
MVDIM コマンドは、1 次元または 2 次元の MultiValue 静的配列を明示的にディメンジョン化します。MultiValue アプリケーションでは、配列をディメンジョン化する必要があります。
ObjectScript には、配列の明示的なディメンジョン化は必要ありません (サポートされています)。ObjectScript の配列は、動的で多次元です。ObjectScript の配列の詳細は、"Caché ObjectScript の使用法" の “多次元配列” を参照してください。
多くの MultiValue システムでは、静的配列の rows と columns を明示的にディメンジョン化する必要があります。これらの値は、その配列で定義できる最大要素数を指定します。明示的にディメンジョン化された配列は、2 つのサブスクリプトに制限されます。ベクトル配列を表す 1 次元、またはマトリックス配列の行と列を表す 2 次元配列のいずれかです。1 次元配列は、ベクトル配列 MVDIM arrayname(n) または、行ディメンジョンを持つマトリックス配列 MVDIM arrayname(n,1) のいずれかになります。
ディメンジョン化された配列のサブスクリプトは、名前付きの変数および数値インデックスを使用して指定できます。% で始まる名前の変数はパブリック配列と呼ばれ、その値は行配列と同じようにサブルーチン呼び出しのときに保持されます。^ で始まる名前の変数はグローバルと呼ばれ、その値は自動的にディスクに保存されます。標準の名前付け規約に従った変数はローカル配列と呼ばれ、その値は他の変数と同様にプログラムの終了時に消失します。
初期設定されていない変数は、すべて長さがゼロの文字列 ("") として処理されます。
また、Caché MVBasic を使用すると、任意の数のディメンジョンの配列をディメンジョン化できます。これにより、MVBasic は Caché で使用する多次元配列をサポートできます。DIM arrayname() のように空の括弧を付けた DIM 文を使用して多次元配列を指定します。これは、array をディメンジョン化された配列として宣言しますが、ディメンジョン数および各ディメンジョンの要素数は実行時に動的に拡張することができます。ObjectScript は通常、このタイプの配列を作成するため、MVDIM コマンドはこのタイプの暗黙的なディメンジョンのオプションを提供しません。
詳細は、"Caché MultiValue Basic Reference" を参照してください。
例
以下の例は、MVDIM 文の使用法を示しています。
; Dimensions a one-dimensional array with 10 elements.
MVDIM MyVector(10)
/* Dimensions a two-dimensional matrix array
with 10 rows and 10 columns. */
MVDIM MyMatrix(10,5)
/* Dimensions a two-dimensional array using local variables */
SET myrows=4,mycols=5
MVDIM MyMatrix(myrows,mycols)