这是我在这里的第一篇文章,但阅读其他文章帮助我解决了无数问题。你们真棒。因此,感谢你们到目前为止提供的所有帮助,并提前感谢您在这里给我的任何建议。
所以,我正在研究这个脚本,它最终会从数组中的列表中随机选择数字。我在本节中尝试做的是读取第三维的每个元素中的NumberHistoryArray
数字,并将第二维中的相应数字写入numberDump
数组中第三维中指示的次数。我也让它写入一个文本文件,只是为了看看它是否有效,并且如果我遇到其他问题并且需要知道输出是什么,可以参考一些东西。
编辑 NumberHistoryArray 的第二维包含数字 1 到 35。第三维包含第二维中每个数字在写入 numberDump 数组时应重复的次数。
例如,如果 NumberHistoryArray(4, 0, 0) 为 4,则应将数字 1 写入四次,在 numberDump(0, 0, 0) 到 (0, 0, 3) 中各写入一次,并动态调整 numberDump() 的大小为需要适合每个 1。通过 numberDump(0, 0, 3) 回显 numberDump(0, 0, 0) 的结果应该是 1 1 1 1。如果 NumberHistoryArray(4, 1, 1) 是 7,它应该写在 numberDump(1, 1, 0) 中数字 2 七次。
编辑
从 Do 循环中写入 numberDump 文本文件时,该文本文件是完美的。如果我从 Do 循环内部回显数组中每个元素的内容,则内容是准确的。一旦在 Do 循环之外,内容是空白的。有接盘侠吗?
Dim NumberHistoryArray(5, 34, 3)
Dim numberDump()
reDim numberDump(3, 34, 0)
' generate the number list and store it in the array
For n = LBound(numberDump, 1) to UBound(numberDump, 1)
i = 1
x = 0
y = 1
Do
Set objTextFile = objFSO.OpenTextFile("numberDump.txt", 8, True)
' determine how many elements are needed in the third dimension of the
' array to store the output
x = x + NumberHistoryArray(4, i - 1, n)
' resize the array
ReDim Preserve numberDump(3, 34, x)
' input the numbers
For z = y to UBound(NumberDump, 3)
numberDump(n, i - 1, z) = i
objTextFile.WriteLine(numberDump(n, i - 1, z))
Next
objTextFile.Close
y = x + 1
i = i + 1
Loop Until i = 36
Next
For i = 0 to UBound(numberDump, 2)
For j = 0 to UBound(numberDump, 3)
wscript.Echo numberDump(0, i, j)
Next
Next