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».Prolog - Как утвердить/сделать базу данных только один раз
Я только хочу иметь один набор данных.
Thankyou
попробуйте использовать если-то-иначе встроенный предикат '(listofQuestions (P, Q) -> Истинные; утверждают (listofQuestions (P, Q))) ' –
, который работает в порядке. Но то, что я хотел бы, это новый пустой список «QuoQuestions» каждый раз, когда я буду называть свое правило. Это происходит только в том случае, если я перезапускаю пролог. Любая помощь? – HungryCoder