от
Я хочу быть в состоянии сделать:
For Each thing In things
End For
КЛАССИЧЕСКИЙ АСП - НЕТ .Чистая!

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

7 Ответы

0 голосов
от
Я хочу быть в состоянии сделать:
For Each thing In things
End For
КЛАССИЧЕСКИЙ АСП - НЕТ .Чистая!
0 голосов
от
Независимо от цели вашего [вещи] должны быть написаны вне языка VBScript. На VB6 можно написать пользовательский класс коллекции, то вам потребуется скомпилировать в dll файлы ActiveX и зарегистрировать его на свой web-сервер для доступа к нему.
0 голосов
от
Что-то вроде этого?
dim cars(2),x
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"

For Each x in cars
  response.write(x
0 голосов
от
Наиболее близким вы собираетесь сделать это с помощью словаря (как уже упоминалось 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)
0 голосов
от
Один из подходов, которые я использовал раньше, чтобы использовать свойство коллекции, которая возвращает массив, который может быть итерации.
Class MyCollection
    Public Property Get Items
        Items = ReturnItemsAsAnArray()
    End Property
    ...
End Class
Перебирать как:
Set things = New MyCollection
For Each thing in things.Items
    ...
Next
0 голосов
от
Как сказал Бретт, его лучше использовать глаг компонент для создания коллекций. Объекты словаря не очень часто используются в АСП, если для конкретной приложений.
0 голосов
от
Очень осторожно, используя VB объект словаря скрипт! Просто откройте для себя эту "autovivication", что свое, родное на этом объекте: http://en.wikipedia.org/wiki/Autovivification Поэтому, когда вам нужно сравнить значения, никогда не используйте сравнение boolen как:
If objDic.Item("varName")
...