(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);
Ø число ограничений классов;
Ø первое, второе ограничения класса и т. д.;
Ø последнее ограничение класса.