top-shop.ru
Сумка для ланча
Считывание термов из файла

Ввод термов из файла

GNU Prolog 1.2.16
By Daniel Diaz
Copyright (C) 1999-2002 Daniel Diaz
| ?- ['2.pro'].
compiling E:\Prolog\2.pro for byte code...
E:\Prolog\2.pro compiled, 5 lines read - 1006 bytes written, 15 ms

yes
| ?- listing.

loading(A) :-
 see(A),
 print,
 see(user).

work(end_of_file) :-
 !.
work(A) :-
 write('\n'),
 write(A),
 write('.'),
 print.

print :-
 read(A),
 work(A).

yes
| ?- loading('2.pro').

print:-read(_27),work(_27).
work(end_of_file):-!.
work(_43):-write(
),write(_43),write(.),print.
loading(_64):-see(_64),print,see(user).

yes
| ?- 
Здесь используется встроенный предикат read, для чтения термов из текущего входного потока, который установлен на файл программы с помощью предиката see. Цель с таким предикатом вызывает чтение терма и сопоставление его с переменной, которая при этом конкретизируется и становится равной прочитанному терму. После каждого терма должна стоять точка.

Предикат read в случае неуспеха не производит возврата для чтения следующего терма (генерирует исключение).

Блог изучающего Пролог

содержание