(dynamic-get <имя-слота>)
(dynamic-put <имя-слота> <выражение>)
Для работы со значениями составных слотов CLIPS предоставляет функции slot- replace$, slot-insert$ и slot-delete$, действия которых аналогичны действиям соответствующих функций для работы с составными значениями. В отличие от стандартных, функции для работы со значениями составных слотов имеют два варианта синтаксиса. Первый предназначен для применения вне объекта, а второй для использования внутри обработчиков сообщений.
Определение 15.98. Внешнее использование функций slot-replace$, slot-insert$ и slot-delete$
(slot-replace$ <имя-объекта> <имя-слота>
<начало-блока> <конец-блока> <выражение>+)
(slot-insert$ <имя-объекта> <имя-слота>
<начало-блока> <выражение>+)
(slot-delete$ <имя-объекта> <имя-слота>
<начало-блока> <конец-блока>)
Определение 15.99. Внутреннее использование функций slot-replace$, slot-insert$ и slot-delete$
(slot-replace$ <имя-слота>
<начало-блока> <конец-блока> <выражение>+)
(slot-insert$ <имя-слота>
<начало-блока> <выражение>+)
|
|
(slot-delete$ <имя-слота>
<начало-блока> <конец-блока>)
Вспомогательные функции
В заключение данной главы рассмотрим несколько вспомогательных функций, список которых приведен в табл. 15.16.
Таблица 15.16. Вспомогательные функции
Функция | Описание |
gensym | Генератор идентификатора |
gensym* | Расширенный генератор идентификатора |
setgen | Установка начального значения для генератора идентификаторов |
random | Генератор случайного числа |
seed | Сброс генератора случайных чисел |
Функция gensym предназначена для генерации уникального идентификатора. Эта функция используется прежде всего для маркировки отдельных конструкций CLIPS, если пользователю не требуется осмысленное наименование идентификатора. Многократные запросы к функции gensym гарантированно возвращают различные идентификаторы в виде genx, где х — некоторое положительное число. Первый вызов gensym возвращает значение geni, все последующие вызовы увеличивают номер на единицу. Функция gensym не перезагружается после команды clear.
Определение 15.100. Функция gensym
(gensym)
Функция setgen предоставляет пользователю возможность устанавливать начальный номер, используемый функциями gensym и gensym*. Аргумент функции setgen должен быть положительным целым числом.