我想通过例子来理解序言。我写了一段代码,但没有按照预期的方式工作,我无法找到故障。用列表操作
list([]).
test([],_,_).
test([Child|List],B,C) :-
append([Child],B,C),
test(List,B,C).
testme :-
list(Final),
test([1,2,3],Final,Result),
write(Result).
从代码中我需要的功能Result
应该是输入列表的反转。当我跟踪这段代码时,我在C
中发现了输入列表的反转,但它没有被返回。
我知道使用reverse
函数我可以很容易地找到列表的反转,但我的兴趣不在于找到相反的地方,而是了解这个代码和prolog的工作。所以请有人能告诉我我的错在哪里以及在这段代码中需要做些什么修改才能正常工作。
中的代码,非常感谢您提供了这样一个描述性答案。它有很多帮助。 :) – anilonwebs 2011-03-02 14:07:42