如何评估prolog谓词的结果作为参数传递? 我正在尝试编写代码来反转列表中的元素对:
swap([A,B,C,D,E,F],R).
我想要结果:
[B,A,D,C,F,E]
但我得到了这个结果:
append(append(append([],[B,A],[D,C],[F,E])))
这是我的代码:
swap(L,R) :- swapA(L,[],R).
swapA([],A,A).
swapA([H,H2|T],A,R) :- swapA(T, append(A,[H2,H]), R).
感谢。