1
VBScriptでオブジェクトの配列を操作する方法を学ぶのに役立つ小さなプログラムを書きましたが、意味をなさない結果が出ています。私はそれを印刷するために行くときに、配列全体が最後のオブジェクトエントリでいっぱいになった理由を理解していません。VBScriptでオブジェクトとスコープの配列を理解する
Class TestObj
Public id
End Class
Dim arr()
Set tObj = new TestObj
Public Function fillArray()
ReDim arr(10)
For i = 0 To 9 Step 1
Call createObj()
Set arr(i) = tObj
Next
'Print the array in this function
Print ("Printing from fillArray function")
For i = 0 To 9 Step 1
Print ("arr("&i&"):"& arr(i).id)
Next
Call printArray()
End Function
Public Function createObj()
max = 100
min = 1
Randomize
randInt = (int((max-min+1)*Rnd+min))
Print ("Random Integer is: " &randInt)
tObj.id = randInt
End Function
Public Function printArray()
size = UBound(arr)
Print ("Printing from printArray function")
For i = 0 To size-1 Step 1
Print ("arr("&i&"):"& arr(i).id)
Next
End Function
Call fillArray()
次のように出力されます
Random Integer is: 80
Random Integer is: 92
Random Integer is: 70
Random Integer is: 10
Random Integer is: 18
Random Integer is: 100
Random Integer is: 27
Random Integer is: 47
Random Integer is: 34
Random Integer is: 60
Printing from fillArray function
arr(0):60
arr(1):60
arr(2):60
arr(3):60
arr(4):60
arr(5):60
arr(6):60
arr(7):60
arr(8):60
arr(9):60
Printing from printArray function
arr(0):60
arr(1):60
arr(2):60
arr(3):60
arr(4):60
arr(5):60
arr(6):60
arr(7):60
arr(8):60
arr(9):60
私たちが見ることができるように、最後のオブジェクトは、60と配列のすべてのインデックスは、今、そのオブジェクトが含まれているか、いくつかのIDを使用して作成されました。