如何将元素附加到 forall 中的列表?
How to append an element to a list in a forall?
基本上是尝试将 D
附加到 forall
中的列表,这样我就可以对该列表进行排序并提取最小值。到目前为止,这是我尝试过的方法:
smallest_distance( W ) :-
forall( a( S1, S2 ), ( w( S1, S2, D ), append([D], Xs, Ls ), Xs = Ls ) ),
sort(Xs, [W|_]).
改为 findall
:
smallest_distance( W ) :-
findall(D, ( a( S1, S2 ), w( S1, S2, D ) ), Ls),
sort(Ls, [W|_]).
基本上是尝试将 D
附加到 forall
中的列表,这样我就可以对该列表进行排序并提取最小值。到目前为止,这是我尝试过的方法:
smallest_distance( W ) :-
forall( a( S1, S2 ), ( w( S1, S2, D ), append([D], Xs, Ls ), Xs = Ls ) ),
sort(Xs, [W|_]).
改为 findall
:
smallest_distance( W ) :-
findall(D, ( a( S1, S2 ), w( S1, S2, D ) ), Ls),
sort(Ls, [W|_]).