dim

名前をつけて配列または変数を作る。配列は5次までのインデックスが許される。 またこれらは、0で初期化される。変数のdim宣言はオプションである。


書式:
dim {Common|Shared} name []
dim {Common|Shared} name = expression
dim {Common|Shared} name [ maxValue {,...} ]
dim {Common|Shared} name [ minValue To maxValue {,...} ]

Commonは変数や配列をグローバルとして宣言する。 これらはSubやFunction内で使われるときには特にSharedとして宣言する必要はない。 CommonはSubやFunctionの外側でのみ使える。

Sharedは変数や配列をcommon文で宣言されていないとき ルーチン外部でも使用できるように宣言する。 SharedはSubやFunction内部のみで使用できる。
複数の変数や配列をコンマで区切ることにより定義できる。

例:
dim a[1] , b[3,5] , counter , x , y
インデックスがないときには、配列はダイナミックに作成されます。 インデックスには、数字、またはストリングが許されるが内部的にはストリングとして保存されている。 例:
a[1] = "one"

a["1"] = "one"
は別のものである。
望むだけのインデックスが作れるが、 結果として一つのストリングに集約される。
例:
a["this",22] = "some value"
a["this,22"] = "some value"
は同じものである。
インデックスなしの動的な配列を定義した場合の初期値は "" である。
ダイナミックな配列はスタティックな配列とは違い、そのエレメントはリファレンスではなく、 値が渡される。 Dynamic arrays also differ from static arrays in that that elements can only be passed by value, not by reference.

例:
' Create an array
dim a[3 To 10, 5]

' Create a variable and assign it
dim myVar = 100

例:
dim array$[100]
for i = 0 to 100
array$[i]="record"+str$(i)
next
for i = 0 to 100
print(array$[i])
next
dim array$[10 to 110]
for i = 10 to 110
array$[i]="record"+str$(110-i)
next
for i = 10 to 110
print(array$[i])
next

参照: erase