Я хочу быть в состоянии сделать:
For Each thing In things
End For
КЛАССИЧЕСКИЙ ASP - НЕ.NET!
Что-то вроде этого?
dim cars(2),x
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"
For Each x in cars
response.write(x & "<br />")
Next
Посмотрите www.w3schools.com.
Если Вы хотите связать ключи, и ценности используют объект словаря вместо этого:
Dim objDictionary
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.Add "Name", "Scott"
objDictionary.Add "Age", "20"
if objDictionary.Exists("Name") then
' Do something
else
' Do something else
end if
Безотносительно Вашего [вещи] потребность, которая будет написана за пределами VBScript.
В VB6 Вы можете написать таможенный класс Коллекции, тогда you' ll должен собрать к ActiveX DLL и зарегистрировать его на Вашем webserver, чтобы получить доступ к нему.
Самое близкое, которое Вы собираетесь получить, использует Словарь (как упомянуто Pacifika)
Dim objDictionary
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.CompareMode = vbTextCompare 'makes the keys case insensitive'
objDictionary.Add "Name", "Scott"
objDictionary.Add "Age", "20"
Но я образовываю петли через свои словари как коллекция
For Each Entry In objDictionary
Response.write objDictionary(Entry) & "<br />"
Next
Вы можете закрепить петлей через весь словарь этот способ выписать ценности, которые были бы похожи на это:
Scott
20
Вы можете также сделать это
For Each Entry In objDictionary
Response.write Entry & ": " & objDictionary(Entry) & "<br />"
Next
Который произвел бы
Name: Scott
Age: 20
Один подход I' ve, используемый прежде, должен использовать собственность коллекции, которая возвращает множество, которое может быть повторено.
Class MyCollection
Public Property Get Items
Items = ReturnItemsAsAnArray()
End Property
...
End Class
Повторите как:
Set things = New MyCollection
For Each thing in things.Items
...
Next
Будьте ОЧЕНЬ тщательно на использовании Объекта Словаря Сценария VB!
Просто узнайте этот " autovivication " вещь, местный житель на этом объекте: < a> http://en.wikipedia.org/wiki/Autovivification
Так, когда Вы должны будете сравнить ценности, НИКОГДА не используйте boolen сравнение как:
'Если objDic. Пункт (" varName") < > " " Тогда'...
Это будет автоматически , добавляет ключ " 'varName '" к словарю (если это doesn' t существуют с пустой стоимостью), чтобы продолжить оценивать булево выражение.
В случае необходимости используйте вместо этого 'Если objDic. Существует (" varName")'.
Просто проведите несколько дней, разбивая стены с этим Макрозофтом " feature"...
[объект словаря vbscript, создающий ключ, который никогда не существовал, но существующий в другом объекте] [1]
[1]: http://social.technet.microsoft. com/Forums/scriptcenter/en-US/906ecc76-f0c2-4823-be2a-fb5eaf8179fd/vbscript-dictionary-object-creating-a-key-which-never-existed-but-present-in-another-object