Студопедия — Определение 15.61. Функция switch
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Определение 15.61. Функция switch






(switch <выражение>)

<условие-ветвления>*

[<условие>])

<условие-ветвления>::= (case <выражение> then <действие>*)

<действия-по-умолчанию>::= (default действие>*)

Для эффективного применения функции switch необходимо наличие, по крайней мере, трех альтернативных групп действий, зависящих от заданного условного выражения.

Функция switch в первую очередь проводит вычисление аргумента <выражение>, а затем сравнивает его со всеми условиями ветвления по очереди. Если значение заданного выражения совпадает с одним из условий ветвления, выполняются соответствующие действия, и работа функции за­вершается. Если совпадений обнаружить не удалось, функция возвращает результат последнего сеанса выбора (если таковой имеется) или значение false. Ниже приведен пример использования функции switch (см. также рис. 15.21).

Пример 15.24. Использование функции switch

(defglobal?*x* = 0)

(defglobal?*y* = 1)

(def function foo (?val)

(switch?val

(case?*x* then *x*)

(case?*y* then *y*)

(default none)))

(foo 0)

(foo 1)

(foo 2)

Рис. 15.21. Использование функции switch

 

Работа с родовыми функциями

Список функций, предоставляемых 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. Если необязательный параметр <имя-родовой-функции> не указан, будет получен список методов всех родовых функций.







Дата добавления: 2015-08-30; просмотров: 528. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия