Я новичок в Прологе и для следующей программы:
place(Store,2,a).
place(Store,1,b).
place(Store,3,d).
place(Store,4,c).
placeSort(S,List):- findall(L,place(S,N,L),List).
вывод: List = [a, b, d, c].
Используя placeSort (S, List), я могу найти все элементы (a, b, c, d), который содержит S (Store).
Однако здесь я хочу добиться сортировки позиции a, b, c, d, используя N, однако я не знаю, какчтобы сделать это, используя сортировку, просто отсортируем ее в алфавитном порядке
placeSort(S,NewList):- findall(L,place(S,N,L),List),sort(List,NewList).
вывод: List = [a, b, c, d].
чего я хочу достичь: List = [b,a,d,c]
** Я знаю, используя placeSort(S,NewList):- findall([N,L],place(S,N,L),List),sort(List,NewList).
возвращает список списков, отсортированных по номерам.вывод: List = [[1, b], [2, a], [3, d], [4, c]].
, но я не уверен, как убрать числа и просто взять вместо них алфавиты.
Любая помощь будет принята с благодарностью.