Text 使用文本将数据添加到prolog中
文本是Text 使用文本将数据添加到prolog中,text,prolog,Text,Prolog,文本是 ?-dynamic(setup/5). setup :- seeing(S), see('people.txt'), read_data, write('data read'), nl, seen, see(S). read_data :- read(A), process(A). process(A) :- A == end_of_file. process(A) :- A \== end_of_file,
?-dynamic(setup/5).
setup :-
seeing(S),
see('people.txt'),
read_data,
write('data read'),
nl,
seen,
see(S).
read_data :-
read(A),
process(A).
process(A) :- A == end_of_file.
process(A) :-
A \== end_of_file,
write('1'),
read(B),
read(C),
read(D),
read(E),
assertz(person(A,B,C,D,E)),
read_data.
结果出来了
john.will.30.london.doctor.
martha.will.33.portsea.doctor.
henry.smith.26.manchester.doctor.
会发生什么?我做错了什么?您正在使用read/1进行阅读,它需要有效的序言文本作为输入。但是,您的数据是
?- setup.
* Syntax Error
* Syntax Error
* Syntax Error
* Syntax Error
* Syntax Error
data read
yes
这是无效的。写一些像
john.will.30.london.doctor.
相反。大多数情况下,人们不会手动读取此类数据。相反,他们用
['datafile.pl']
或其他命令加载文件。您能精确地使用prolog实现并给出整个错误消息+您打算执行的操作吗?在将文本添加到prolog数据库的时候,有点不清楚。顺便说一句,这是一个胜利的开场白。这就是整个错误信息。
person(john,will,30,london,doctor).