Список функций, предоставляемых CLIPS для работы с методами родовых функций, а также краткое описание их назначения приведен в табл. 15.13.
Таблица 15.13. Работа с родовыми функциями
Функция | Описание |
get-defgeneric-list | Получение списка существующих родовых функций |
get-defmethod-list | Поиск модуля, в котором определена родовая функция |
defgeneric-module | Получение списка существующих методов родовых функций |
type | Определение типа получаемого параметра |
next-methodp | Проверка существования скрытых методов родовой функции |
call-next-method | Вызов скрытого метода родовой функции |
override-next-method | Вызов скрытого метода родовой функции с измененными аргументами |
call-specific-method | Вызов определенного метода родовой функции |
get-method-restrictions | Получение ограничений для заданного метода родовой функции |
Функция get-defgeneric-list возвращает составную величину, содержащую имена всех определенных в системе родовых функций, видимых в заданном модуле. Если параметр <имя-модуля> не задан, функция выведет список родовых функций, определенных в текущем модуле. Вместо имени модуля допустимо использовать символ *. В этом случае возвращается список всех родовых функций.
|
|
Определение 15.62. Функция get-defgeneric-list
(get-defgeneric-list [<имя-модуля>])
Функция defgeneric-module служит для определения модуля, в котором указана заданная родовая функция.
Определение 15.63. Функция defgeneric-module
(defgeneric-module <имя-родовой-функции>)
Для определения списка методов и индексов, определенных в системе родовых функций, видимых в заданном модуле, служит функция get-defmethod-list. Если необязательный параметр <имя-родовой-функции> не указан, будет получен список методов всех родовых функций.
Определение 15.64. Функция get-defmethod-list
(get-defmethod-list [<имя-родовой-функции>])
Функция type служит для определения типа или класса заданного аргумента (см. также пример 15.25 и рис. 15.22).
Определение 15.65. Функция type
(type <выражение>)