Воскресенье, 2024-05-19
Сборник компьютерных технологий
Меню сайта
Категории раздела
My articles [30]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » My articles

Динамические предикаты SWI Prolog

Динамические предикаты в SWI PROLOG

Будем разбирать пример предиката человек(кто-то), а именно person(Who).

Во-первых используйте dynamic/1. Это говорит компилятору, что реализация предиката может отсутствовать, а ещё, что предикат может быть подгружен во время исполнения.

Пример:

:- dynamic
 person/1.

 

Как удалить динамический предикат в SWI PROLOG?

Есть два способа.

1) retractall(person(_))

Нужно учесть, что если в конце используете этот метод, то программа должна до него дойти, а не вылететь по ошибке.

2) call_cleanup(go_with_clean_db, cleanup_db)

Лишён недостатка первого способа.

 

 



Источник: http://www.swi-prolog.org/howto/database.html
Категория: My articles | Добавил: DungeonLords (2016-01-13)
Просмотров: 938 | Теги: dynamic predicates, динамические предикаты swi, dynamic rule swi, swi prolog, dynamic rules swi
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright Forcer, Inc © 2024
    Бесплатный конструктор сайтов - uCoz