2
下面是一個在線教程,給出路線規劃方案: -路線規劃中的Prolog
route(X,Y,R) :-
route(X,Y,[X],R).
route(X,Y,_,[drive(X,Y)]) :-
travel(X,Y).
route(X,Y,V,[drive(X,Z)|R]) :-
travel(X,Z),
\+ member(Z,V),
route(Z,Y,[Z|V],R)
Z \= Y. %Only required if Y is not ground.
travel(X,Y) :- road(X,Y).
travel(X,Y) :- road(Y,X).
road(arad,sibiu).
road(arad,timisoara).
road(arad,zerind).
road(zerind,oradea).
road(oradea,sibiu).
road(sibiu,fagaras).
什麼我不明白的是註釋語句:Z\=Y
。 爲什麼需要此聲明?以及爲什麼只有在Y
不被磨光時才需要該聲明?
帶着或不帶着它運行代碼,看看會發生什麼。 :) –
我找不到任何區別...你能提供一些提示嗎? – Pingu