我有此代码:
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] ?
在锡比乌之后加逗号,而不是酒吧。
答案 0 :(得分:1)
在第一行中,写[X,Y]
而不是[X|Y]
,后者希望Y
是一个列表,在这里不是这种情况。