Просмотр списка объектов и ассоциативного списка

Список объектов содержит все атомы, присутствующие в сеансе работы. Атомы создаются автоматически по мере необходимости, а также в процессе инициализации ядра Лиспа. Каждый атом имеет список свойств, состоящий из индикаторов. Ряд индикаторов являются стандартными (встроенными). Это APVAL, FIXED, FLOAT, BITS, EXPR, FEXPR, MACRO, SUBR, FSUBR и ряд других. Пользователь может создавать и свои индикаторы (см. ниже). Вся эта информация наглядно представляется в виде трехколоночного списка. В первой колонке стоят имена атомов, во второй - стандартные свойства, а в третьей - дополнительные свойства. Для вызова списка объектов следует нажать 12-ю кнопку тулбара (или выбрать соответствующий пункт меню). Чтобы вернуться к вводу S-выражений следует повторно нажать 12-ю кнопку тулбара.

Список объектов представляется следующим образом:


Из рисунка видно, что у атома VER установлены два стандартных индикатора (APVAL и STRING). Индикатор APVAL означает, что атом является константой. Значением такой константы может быть либо другой атом, либо этот же атом. У атома VER значением является другой атом - строковая константа.

При необходимости список объектов можно отсортировать по именам атомов. Для этого нужно щелкнуть мышью по заголовку колонки "имя атома". Если щелкнуть по заголовку "стандартные свойства", то содержание списка будет отсортировано по второй колонке. Этими возможностями удобно пользоваться для поиска в списке нужной информации. У атомов-имен функций заданных пользователем будет установлен один из индикаторов EXPR, FEXPR или MACRO. У таких атомов можно увидеть определяющее выражение функции. Для этого достаточно щелкнуть по имени атома в первой колонке списка:


Определяющее выражение функции можно увидеть, вызвав функцию GETD.

Дополнительные индикаторы используются при создании таких объектов, как графические окна, файлы, BLOBы, COM-объекты, диалоги и элементы управления. Создадим, например, графическое окно, введя следующую команду:

(grwCreate 'w-1 300 300 "Проба" _WHITE)

==>  w-1

Если теперь пользватель найдет атом W-1 в списке объектов, то он увидит следующую картину:



Для просмотра свойств атомов также существуют встроенная функция PROPLIST .


Значения, присваиваемые атомам с помощью конструкций SET/SETQ хранятся в ассоциативном списке. Для отображения ассоциативного списка служит 13-я кнопка тулбара. Ассоциативный список представляется в виде трехколоночной сеточной формы. Во второй колонке находится имя атома, в третьей - значение. Значением атома может быть произвольное S-выражение. Если в сеансе еще ни разу не выполнялись команды SET/SETQ, то ассоциативный список пуст, и 13-я кнопка тулбара неактивна. Однако, если пользователь введет команды:


(SETQ A1 123)

==> 123

(SETQ A2 '(1 2 3)) 

==> (1 2 3)

(SETQ A3 "Проба") 

==> "Проба"

(SETQ A4 '(A . B)) 

==> (a . b)

и затем нажмет 13-ю кнопку, то увидит следующую картину:


Если щелкнуть мышью по красному кресту, расположенному в первой колонке, то можно удалить из системы соответствующую переменную. Чтобы вернуться к вводу S-выражений следует повтороно нажать 13-ю кнопку тулбара.