Пример 12.2. Использование модулей

(clear)

(defmodule A)

(defmodule В)

(defrule foo =>)

(defrule A::bar =>)

(list-defrules)

(set-current-module B)

(list-defrules)

Результат выполнения этих команд приведен на рис. 12.1.

Обратите внимание, что после определения нового модуля он становится текущим (имя текущего модуля можно получить с помощью функции get-current-module). Таким образом, правило foo было добавлено в текущий модуль В, т. к. при его создании модуль не был указан явно, а правило bar добавлено в модуль А, что явно указано в конструкторе. Сообщения, возникшие после определения правил, сообщают об определении в новых мо­дулях фактов initial-fact, необходимых для безусловных правил. После этого, переключая текущий активный модуль с помощью команды set-current-module и используя команду list-defrules, можно убедиться, что правила находятся именно в тех модулях, в которых они должны находиться. Windows-версия CLIPS предоставляет еще один способ просмотра списка определенных пользователем модулей и изменения текущего модуля. Эта возможность реализована с помощью вложенного меню Module, содержащегося в меню Browse. Текущий модуль в этом меню отмечен флажком (рис. 12.2).

Рис. 12.1. Использование модулей

Рис. 12.2. Выбор активного модуля


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: