初学者Prolog。使用列表和递归。 (将列表连接在一起)

时间:2014-11-17 15:10:16

标签: prolog

我目前正在学习如何在Prolog中编码。我一直在尝试连接2个列表来创建一个新列表,这样第一个列表的第一个元素将跟随第二个元素的第一个元素,后面跟着第一个列表的第二个元素,依此类推。这是我所谈论的一个例子。有人可以向我解释我做错了什么吗?这可能是一个非常简单的错误,我没有抓住,因为我还在学习。

第一个清单:(q,r,s) 第二个清单:(l,m,n)

最终名单:(q,l,r,m,s,n)

1 个答案:

答案 0 :(得分:1)

您需要使用每个规则的头部来指定何时适用。例如:

connectLists([],L,L).
connectLists(L,[],L).
connectLists([H1|T1],[H2|T2],[H1,H2|T]) :-
    connectLists(T1,T2,T).