作成済みのリストにリストを追加しようとしています。変数は、プログラムの実行中に複数回変更されるリストですが、に追加する必要がある段階が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).
パス述語は 1 回ではなく複数回呼び出されるため、単純な述語ではRoute = FinalRoute
不十分です。
そうすることがRoute
でき[1, 2, 3]
ます。FinalRoute
[[1, 2, 3]]
いつRoute
である必要があります[4, 5, 6]
など。FinalRoute
[[4, 5, 6], [1, 2, 3]]
任意の提案をいただければ幸いです。