Интерфейс с объектами, используемый в Perl

Оцените статью

windows78752 Интерфейс с объектами, используемый в PerlActivePerl может взаимодействовать с объектами COM, ActiveX и OLE (Automation). Расширенный синтаксис для доступа к методам имеет следующий вид: $имя_объекта->Метод[(аргументы [,…])]; Поскольку синтаксисы для доступа к методам и объектам отличаются друг от друга, нужно изучить документацию по COM-объектам, четко определив, что именно вы хотите использовать, свойство или метод. Для установки значения свойства, допускающего чтение и запись, ему можно просто присвоить значение: Стандартный объект WScnipt, который более подробно будет рассмотрен чуть позже, предопределяется средой WSH и доступен сценарию на языке Perl. Например, текущая версия WSH может быть выведена с помощью следующего сценария: $WScript->Echo("Mcncxnb3yeTCfl версия ", $WScript->Version);

Можно воспользоваться обычной для Perl формой ввода-вывода и написать вместо этого следующий оператор: print "Используется версия ", $WScript->Version; Но оператор print осуществляет запись в стандартное устройство вывода (stdout), которое при запуске сценария с помощью WScript (оконной версии WSH) не определено. Сценарий, использующий оператор print, работает под управлением Cscript и не работает под управлением WScript. Дело, конечно, ваше, но если нужно чтобы ваш сценарий работал одинаково хорошо в любой среде, используйте для вывода метод $WScript. Echo. Для создания экземпляра объекта Automation, OLE или ActiveX можно воспользоваться любым из двух следующих методов. Проще всего воспользоваться методом CreateObject, который предоставляется встроенным объектом Некоторые COM-объекты, встречающиеся в этой книге и в других источниках, возвращают объекты-коллекции, которые содержат список других объектов. Например, свойство Drive объекта Scripting. FileSystemObject возвращает коллекцию объектов Drive, а свойство WScript. Arguments возвращает коллекцию объектов Argument. Свойства и методы объекта-коллекции рассматривались ранее в этой главе. Поскольку элементы объекта-коллекции не могут быть получены по индексному значению (по крайней мере, не напрямую), они должны быть «просканированы» с использованием объекта-нумератора. Нумератор предоставляет доступ к объекту — коллекции путем поддержки понятия текущей позиции в списке, которую затем можно пошагово изменять. Для сканирования списка во второй раз нужно перевести текущую позицию в начало списка, а затем опять пошагово пройти список.

Комментирование закрыто.

Вверх страницы