我目前正在学习如何在Prolog中编码。我一直在尝试连接2个列表来创建一个新列表,这样第一个列表的第一个元素将跟随第二个元素的第一个元素,后面跟着第一个列表的第二个元素,依此类推。这是我所谈论的一个例子。有人可以向我解释我做错了什么吗?这可能是一个非常简单的错误,我没有抓住,因为我还在学习。
第一个清单:(q,r,s) 第二个清单:(l,m,n)
最终名单:(q,l,r,m,s,n)
答案 0 :(得分:1)
您需要使用每个规则的头部来指定何时适用。例如:
connectLists([],L,L).
connectLists(L,[],L).
connectLists([H1|T1],[H2|T2],[H1,H2|T]) :-
connectLists(T1,T2,T).