传递Prolog谓词的结果

时间:2012-03-19 03:22:45

标签: prolog

如何评估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).

感谢。

0 个答案:

没有答案