パスのリストを完了するのにかかる距離で並べ替えようとしています。私が使用しているPrologコードは以下のとおりです。
を呼び出すと、存在しないsortRoutes
という Prolog からの存在エラーが表示されます。predsort
ただし、 sort モジュールを使用していますが、何も変わらないようです。
なぜこれが機能しないのか理解できないようです。私は何か間違ったことをしていますか?
ありがとう!
:- use_module(library(sort)).
sortRoutes(DistRoutes, SortedRoutes) :-
predsort(distCompare, DistRoutes, SortedRoutes).
distCompare(Comp, E1, E2) :-
my_nth(2, E1, Dist1),
my_nth(2, E2, Dist2),
compDists(Dist1, Dist2).
compDists(>, Dist1, Dist2) :-
Dist1 > Dist2.
compDists(<, Dist1, Dist2) :-
Dist1 =< Dist2.