Как создать многомерные зубчатые массивы в VbScript? - PullRequest
1 голос
/ 19 мая 2010

Мне нужно создать многомерный массив строк.Каждая строка массива может иметь различное количество строк.Что-то вроде следующего кода:

twoDimension = Array(Array())  
ReDim Preserve twoDimension(3)  
For i = 0 to 2  
 If i = 1 Then  
  twoDimension(i) = Array(1,2,3)  
 End If  
 If i = 2Then  
     twoDimension(i) = Array(1,2,3,4,5)  
   End If  
Next  

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Как насчет словаря

Set a = CreateObject("Scripting.Dictionary")
a.Add 0, Array(1,2,3)
a.Add 1, Array(4,5,6)
MsgBox a.Count
MsgBox a.Item(0)(2)
MsgBox a.Item(1)(1)
0 голосов
/ 06 января 2013

Нет ничего плохого в том, что в VBScript есть неровные массивы. Есть некоторые незначительные проблемы с вашим кодом (ReDim до 3, но только присвоение значений 2, излишне использование цикла For для присвоения значений), но в целом это правильный синтаксис для использования.

Option Explicit

Dim twoDimension, i, j

twoDimension = Array(Array())  
ReDim Preserve twoDimension(2)

twoDimension(1) = Array(1,2,3)
twoDimension(2) = Array(1,2,3,4,5)

For i = 0 To UBound(twoDimension)
  For j = 0 To UBound(twoDimension(i))
    WScript.Echo "(" & i & "," & j & ") = " & twoDimension(i)(j)
  Next
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...