1

作成済みのリストにリストを追加しようとしています。変数は、プログラムの実行中に複数回変更されるリストですが、に追加する必要がある段階がprogram(Route, FinalRoute).あります。RouteRouteFinalRoute

このプロセスは数回行われる可能性がありますが、どうすればこれを達成できるかわかりません。

以下は、私が今何をしているかを説明する関連する (重要/必須) コードです。

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]]

任意の提案をいただければ幸いです。

4

1 に答える 1