Списки в прологе не будут печататься с запятой - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть этот код:

route(X,Y,[X|Y]) :-
    road(X,Y).

route(X,Y,[X|R]) :-
    road(X,Z),
    route(Z,Y,R).


road(arad,timisoara).
road(arad,sibiu).
road(arad,zerind).
road(zerind,oradea).
road(sibiu,fagaras).
road(sibiu,rimnicu_vilcea).

Когда я запускаю его, он дает мне:

?- route(arad, fagaras, P).

P = [arad,sibiu|fagaras] ? 

yes

это должно быть:

P = [arad,sibiu,fagaras] ? 

сзапятая после Сибиу, а не бар.

1 Ответ

0 голосов
/ 09 ноября 2018

В первой строке напишите [X,Y] вместо [X|Y], позже ожидается, что Y будет списком, которого здесь нет.

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