Изменить ответ возврата Пролога
Я новичок в программировании на прологе.
Я хочу изменить значение, возвращаемое программой пролога, чтобы она возвращала значение true / false вместо стандартного yes или no.
Рассмотрим очень простой пример: например, simple.P
node(1).
isNode(X) : node(X)
в командной строке пролога, если я ввожу isNode(1), он возвращает да как:
isNode(1).
yes
Мой вопрос:
Как я могу изменить это с да на истину?
1 ответ
Пролог пытается найти подтверждение вашего запроса. Если в вашем запросе есть переменные, он печатает значение, которое делает их истинными.
Q: Есть ли простые числа, которые являются четными? A: Да - 2 четное и простое
Это будет давать вам больше доказательств, пока вы печатаете; В конце концов он закончится и ответит ложным.
Q: Есть ли простые числа, которые являются четными? A: Да - 2 четное и простое. Q: Есть еще? A: ложно.
Вы хотите, чтобы ваша программа выполняла вывод. Для этого есть ряд предикатов библиотеки. Наиболее гибкий формат /2
myprogram :-
my_old_program, !,
format('yup, that sure is right!~n', []).
myprogram :-
format('nope, nope, no way in heck!~n', []).