Classic ASP (VBScript) の配列の次元数を調べるにはどうすればよいですか。
複数の次元を持つ配列が渡されていますが、最後のものだけを見たいです。他の言語では簡単に思えます。
Classic ASP (VBScript) の配列の次元数を調べるにはどうすればよいですか。
複数の次元を持つ配列が渡されていますが、最後のものだけを見たいです。他の言語では簡単に思えます。
Ubound(MySingleDimensionalArray, 2) ' Number of Array Elements
Ubound(MyMultiDimensionalArray, 1) ' Number of Columns
Ubound(MyMultiDimensionalArray, 2) ' Number of Rows
ここでのfeihtthiefの回答と同様のアプローチは、指定された寸法のサイズではなく、これがあなたが望むものであると想定しているためです。
Function NumDimensions(arr)
Dim dimensions : dimensions = 0
On Error Resume Next
Do While Err.number = 0
dimensions = dimensions + 1
UBound arr, dimensions
Loop
On Error Goto 0
NumDimensions = dimensions - 1
End Function
次に、次のように呼び出します。
Dim test(9, 5, 4, 3, 9, 1, 3, 5)
NumDimensions(test)
あなたに値8を与えるでしょう
それは少し安っぽいですが、あなたが求めたことをします。
function ArrayDimensions( theArray )
dim Result,test
Result = 0
if isarray(theArray) then
on error resume next
do
test = -2
test = ubound(theArray,result+1)
if test > -2 then result = result + 1
loop until test=-2
on error goto 0
end if
ArrayDimensions = Result
end function