Читайте также:
|
|
Предикаты ввода/вывода изменяют состояние входного или выходного потока не зависимо от их успешности, при возврате исходное состояние потока также не восстанавливается.
Текущим выходным потоком данных по умолчанию является экран (user). Предикат tell(X) открывает файл X, если он еще не открыт, и файл X становится текущим выходным потоком данных Цель telling(X) успешна, если имя текущего выходного потока сопоставимо с X. Предикат told закрывает текущий выходной поток и переключается на интерактивный вывод данных пользователю.
Предикат write(X) записывает терм X в текущий выходной поток.
Перемещение терма во внешнюю память базы данных
put(X),get(X),get0(X).
?-put(65).
A
get0(X) считывает символ, пропуская все непечатыемые символы.
get(X) просто связывает.
Организация работы с динамической базой данных
Для работы с такой БД, ее предикаты необходимо описать в разделе database
assert(F) %добавляет к множеству фраз программы, фразу F, как первую фразу программы
asserta(F) %добавляет к базе данных программы, утверждение F, как первую фразу программы
assertz(F) %как последнюю фразу
retract(F) %удаляет первую фразу, которая унифицируется с F7
Предикат findall позволяет собрать все имеющиеся в базе данные в список, который может быть полезен при дальнейшей работе
Дата добавления: 2015-07-19; просмотров: 71 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Запись фактов, записи рекуррентных определений | | | Понятие и виды юридической ответственности, ее цели и задачи. |