Сделайте swi пролог для возврата имени предиката - PullRequest
0 голосов
/ 14 февраля 2020

извините, я просто хочу вернуть имя предиката америка

america('kin').
novelist('kin').
writer(X):- novelist(X).

, когда я запрашиваю swi ниже writer(A),novelist(A)

это просто соответствует A = 'kin', как изменить swi на заставить его вернуть Америку?

1 Ответ

0 голосов
/ 14 февраля 2020

Означает ли america(X) "Х живет в Америке"? Я бы предложил сделать america атом вместо предиката, а затем определить такие факты, как:

lives_in(kin, america).

Это позволяет вам определять правила, такие как:

novelist_living_in(X, Y) :- novelist(X), lives_in(X, Y).

, чтобы вы может делать запросы, такие как:

novelist_living_in(kin, Y).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...