我想寫一個路由功能,但我似乎無法得到所需的結果。這是迄今爲止的代碼。 前身發現被掛N節點,並將它作爲P.序言路由例程
traceroute(_,L) :- member((A,A),L).
traceroute(N,L) :-
predecessor(N,P),
append(N,L,L1),
traceroute(P,L1).
當我跑我traceroute(placeA, Y).
它返回數據.. Y = [ (_G575, _G575)|_G579] .
基本上是traceroute的第一線,我想如果任何成員是自己的前身,則終止遞歸。第二部分應循環遍歷所有節點並將它們添加到列表(L)中。
節點存儲,例如[(placeA,placeB),(placeB,placeC)和列表應存放像[placeA,placeB,placeC]
我不明白爲什麼我得到這些結果。