Изменить ответ возврата Пролога

Я новичок в программировании на прологе.

Я хочу изменить значение, возвращаемое программой пролога, чтобы она возвращала значение 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', []).
Другие вопросы по тегам