»

続・配列array() 

InDesign — enjoji.yasujiro @ 11:15 PM

※以下vbscript↓

dim test()
ReDim test(6)                   ’・・・①

test(0) = “生死去来”
test(1) = “棚頭傀儡”
test(2) = “一線断時”
test(3) = “落落磊磊”

msgbox UBound(test)                    ’・・・②
msgbox test(0) & test(1) & test(2) & test(3)

ReDim Preserve test(3)                   ’・・・③
msgbox UBound(test)
msgbox test(0) & test(1) & test(2) & test(3)

ReDim test(3)                     ’・・・④
msgbox UBound(test)
msgbox test(0) & test(1) & test(2) & test(3)


1.配列要素数を変更したり再定義する場合はReDimを使用。
ただし最初にDim test(6)と要素数も設定してしまうと次にReDimが使えない。
以下のエラーが表示↓
array1.JPG
なので、最初は要素数を定義せずに配列を宣言するべし。

2.要素数の最大はUBound関数を使用
※主にループ処理で配列に格納した値を取りだす場合とかにUBound関数を利用

3.ReDimするときにPreserveをつけると、最初に設定した配列の値を保持したまま要素数を変更可能。
例えば10個要素があっても4つまでしか配列を使わなかった場合、後ろ6つが空でループを10回繰り返すのが無駄だと感じた場合とかに、PreserveしたままReDimすればループを最短の4回繰り返すことが可能となる。
※ただランダムに例えば1,3,4,6と格納されている場合とかはどないしよう?

4.PreserveをつけずにReDimすると、今まで格納された配列の値はすべてリセットされる

1 件のコメント »

  1. 配列Array()

    配列nの最初の配列番号は1でなく0なので、例えば5つ箱?がある配列の場合は以下の…

    コメント by 鎌倉橋日記 — 2007 年 10 月 18 日 @ 11:31 PM

このコメント欄の RSS フィード TrackBack URI

コメントをどうぞ

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2009 鎌倉橋日記 | powered by WordPress with Barecity