Я пытаюсь выучить пролог, но мне очень трудно.У меня проблемы с добавлением элемента, который находится в конце списка, в начало списка.Пока что все, что я могу сделать, это удалить элемент и поместить его спереди, однако я не хочу его удалять, я хочу, чтобы он оставался сзади, а затем добавляю его экземпляр спереди.
Я пытался просмотреть похожие вопросы, но все еще застрял.
Я знаю, что поступаю неправильно, но вот что у меня получилось:
addLastToFront([], []).
addLastToFront(L, [H|T]) :- append(T, [H], L).
Который производит:
?- addLastToFront([a,b,c,d], X) --> ([d,a,b,c])
Что я пытаюсь сделать:
?- addLastToFront([a,b,c,d], X) --> ([d,a,b,c,d])