Пролог тест, если предикат потерпел неудачу или нет - PullRequest
0 голосов
/ 16 мая 2011

Я хочу написать предикат, который возвращает решение из базы фактов. Если решения не существует, предикат должен возвращать «Решений не существует». Возвращение решения, которое существует в базе фактов, тривиально. Как реализовать часть «Нет решения существует». Я использую SWI-Prolog.

1 Ответ

2 голосов
/ 16 мая 2011

Если у вас есть предикат, скажем fact/1, который содержит все ваши факты, вы можете использовать оператор if-then-else следующим образом:

fact_or_no_solution(Sol) :-
    (fact(X) ->
        Sol = X
    ;
        Sol = 'No solution exists'
    ).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...