resultList(UsersQuery):-
question(X,H),
write(H),
myintersection(H,UsersQuery,Match,TotalQuestionKeywords),
Percent is Match/TotalQuestionKeywords*100,
write('Question: '),
write(X),nl,write('Quality: '), write(Percent),write('%'),nl,
/* please look at this part
Percent>=50,
assert(listofQuestions(Percent,Question)),
write(Percent),write(Question),nl,
fail.
resultList(_).
我想填充一个名为'listofQuestions'的事实数据库。一切正常,但我声称的东西留在记忆中。所以,如果我再次运行我的程序,我会在“listofQuestions”中添加相同的一堆事实。
我只想拥有一组数据。
三江源
答案 0 :(得分:3)
为断言创建一个单独的谓词,检查事实是否尚未断言:
assertThisFact(Fact):-
\+( Fact ),!, % \+ is a NOT operator.
assert(Fact).
assertThisFact(_).
答案 1 :(得分:2)
在重新运行程序之前,可能会retractall/1
。