Пример 15.27. Использование функции call-specific-method


 

(clear)

(defmethod + ( (?а INTEGER) (?b INTEGER))

(* (- ?a ?b) (- ?b ?a)))

(list-defmethods +)

(preview-generic +12)

(watch methods)

(+ 1 2)

(call-specific-method +112)

(unwatch methods)

Рис. 15.24.Использование функции call-specific-method

 

Функция get-method-restrictions (рис. 15.25) возвращает составную вели­чину, содержащую информацию об ограничениях для данного метода, ис­пользуя следующий формат:

Ø минимальное число аргументов;

Ø максимальное число аргументов (может равняться —1 для групповых символов);

Ø количество ограничений;

Ø индекс составной величины, содержащей информацию о первом ограни­чении;

Ø индексы составных величин, содержащих информацию о втором, третьем ограничениях и т. д.;

Ø индекс составной величины, содержащей информацию о последнем ог­раничении;

Ø первое ограничение является ограничением запроса (true или false);

Ø число ограничений классов;

Ø первое, второе ограничения класса и т. д.;

Ø последнее ограничение класса;

Ø последнее ограничение является ограничением запроса (true или false);

Ø число ограничений классов;

Ø первое, второе ограничения класса и т. д.;

Ø последнее ограничение класса.

Определение 15.70. Функция get-method-restrictions

(get-method-restrictions <имя-родовой функции> <индекс-метода>

<выражение>*)

Пример 15.28. Использование функции get-method-restrictions

(clear)

(defmethod foo 50

((?a INTEGER SYMBOL)

(?b (=11)) $?c))

(get-method-restrictions foo 50)

 

Рис. 15.25.Использование функции get-method-restrictions



Дата добавления: 2021-12-14; просмотров: 247;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.