2016-10-05 4 views
2

ReDim入れ子配列(2次元配列ではありません。例を参照)にします。
私はインラインではなく、ヘルパー関数を使用するソリューションを持っているのWindows 10上のVBSファイル入れ子になった配列のReDim

'1 standard redim 
myArr = Array() 
Redim myArr(11) 
msgBox(UBound(myArr)) 'show 11 

'2 nested this way works 
myArr(0) = Array("a", "b", "c") 
msgBox(UBound(myArr(0))) 'show 2 

'3 ERROR, NOT corresponding type 
' myArr(1)(4) 

myArr(2) = Array() 
msgBox(UBound(myArr(2))) 'show -1 

'4 compiling error 
reDim myArr(2)(3) 

でそれを実行します。

res = reDimmer(myArr(2), 4) 
msgBox(UBound(myArr(2))) 'show 4 

function reDimmer(arr, num) 
    reDim arr(num) 
end function 

私は場合、私は理解することはできません構文エラーが発生したり、VBScriptに制限があります。

答えて

2

ReDimは、変数でのみ使用できます。あなたは行うことができ、以下:

Dim temp 
temp = myArr(2) 
ReDim temp(3) 
myArr(2) = temp 

(しかし - 私はあなただけreDimmerを使用するのではなく、これをインライン化する理由はわからない。)それが行を避けるために、私は、インラインそれを行うことを好むだろう

+0

ファイルを読みにくくするコードのインライン構文も柔軟性があります。私は、Preserveバージョンに対して2つの異なる機能を実行する必要があります。 – brazoayeye

関連する問題