У меня есть база данных в прологе, все, что я хочу сделать, это enuamrate через свой элемент и печатать один за другим. Как это может быть сделано?Как я могу распечатать все факты базы данных в прологе
fact(is(mike,asthmatic)).
fact(has(andy,highPressure)).
fact(is(mike,smoker)).
Я написал это, которое работает нормально, но оно удаляет элементы из базы данных, поэтому я хочу получить к ним доступ без удаления.
print:-
retract(factA(P)),
write(factA(P)),nl,
fail.
print.
Если вы не хотите, чтобы удалить, то просто не называют 'втягивания/1' ... – Kaarel
возможный дубликат [Получение всех решений к предикату в Prolog] (http://stackoverflow.com/questions/846145/getting-all-the-solutions-to-a-predicate-in-prolog) – Kaarel