Книга: Windows Script Host для Windows 2000/XP
Объект Enumerator
Объект Enumerator
С помощью объекта Enumerator
можно получить доступ к любому элементу коллекции (в VBScript для этого служит цикл For…Each
). Коллекцией в языке JScript называется множество элементов, которое отличается от массива тем, что к элементам коллекции нельзя получить прямой доступ с помощью индексов — можно только перемешать указатель текущего элемента на самый первый или следующий относительно текущего элемент.
Для создания нового объекта встроенного класса Enumerator
используется конструктор следующего вида:
var е;
е = new Enumerator(collection);
Здесь параметр collection
указывает на коллекцию, для доступа к элементам которой и создается объект класса Enumerator
. Сами коллекции обычно являются свойствами других объектов.
Методы объекта Enumerator
представлены в табл. П1.16 (свойств у этого объекта нет).
Таблица П1.16. Методы объекта Enumerator
Метод | Описание |
---|---|
atEnd() |
Возвращает true , если указатель текущего элемента находится на элементе, следующем за последним экземпляром коллекции, либо коллекция пуста, либо текущий элемент не определен. В противном случае возвращается false |
item() |
Возвращает значение текущего элемента коллекции. Если коллекция пуста или текущий элемент не определен, возвращается неопределенное значение undefined |
moveFirst() |
Перемещает указатель на первый элемент коллекции. Если в коллекции нет элементов, текущий элемент принимает неопределенное значение undefined |
moveNext() |
Перемещает указатель на следующий элемент коллекции. Если перед применением этого метода указатель находился на последнем элементе коллекции, либо коллекция пуста, текущий элемент принимает неопределенное значение undefined |
Пример, поясняющий схему применения объекта Enumerator
, приведен в листинге П1.6.
Листинг П1.6. Пример использования Enumerator
//Объявляем переменные
var FSO, Folder, Files, s;
//Создаем объект FileSystemObject
FSOWScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для корневого каталога диска С:
Folder=FSO.GetFolder("С:")?
//Создаем коллекцию файлов каталога "Мои документы"
Files=new Enumerator(Folder.Files);
//Цикл по всем файлам
for (; !Files.atEnd(); Files.moveNext())
//Добавляем строку с именем файла
s+=Files.item().Name+"n";
//Выводим полученные строки на экран
WScript.Echo(s);
- Объект WshArguments
- Встроенные объекты (классы)
- Реализация интерфейсов IEnumerable и IEnumerator
- 1.1. Введение в объектно-ориентированное программирование
- ЧАСТЬ IV. База данных и ее объекты.
- 1.1.1. Что такое объект
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Физические объекты
- Иерархия объектов в InterBase
- Имена объектов длиной 68 символов
- Создание объектов Collection
- 7.12. Объективизация времени