我正在尝试将列表添加到已创建的列表中。program(Route, FinalRoute).
该Route
变量是一个列表,在程序执行过程中会多次更改,但是有一个阶段Route
需要附加到FinalRoute
.
这个过程可能会发生多次,但我不确定如何实现这一点。
以下是相关(重要/必需)代码,可以解释我现在正在做什么:
path(_, _, Route, FinalRoute, []):-
%% code to add Route to FinalRoute
path(Source, Dest, Route, FinalRoute, Conditions):-
[Cond|Rest] = Conditions,
get_info(Source, Dest, Path, NewDest),
path(Dest, NewDest, [Path|Route], FinalRoute, Rest).
路径谓词不是调用一次而是多次调用,因此简单是Route = FinalRoute
不够的。
所以Route
可以[1, 2, 3]
那么FinalRoute
应该[[1, 2, 3]]
。
那么应该是什么Route
时候,等等。[4, 5, 6]
FinalRoute
[[4, 5, 6], [1, 2, 3]]
任何建议表示赞赏。