0
我对Prolog非常陌生,我正在尝试使用'append'。我正在尝试编写一个非常简单的程序,将列表中的第一项添加到列表L中,并将其添加到空列表中。在Prolog中使用append
请问有人请向我解释为什么这样做不起作用?
add_first([A|_],L) :- append(A,_,L).
另一个简短的问题。
为什么此代码有效?
add_first([A|B],L) :- append(B,A,L).
但是这段代码不?
add_first([A|B],L) :- append(A,B,L).
非常感谢。
这些例子都没有,即使append按照您的想法工作,似乎也反映了您为'add_first'提供的口头定义。你能举一个你想让'add_first'成功工作的实例吗?这个描述意味着你想要'add_first([1,2,3],L)'产生'L = [1]'。但是你的'append'例子都涉及'[1,2,3]'的尾部,这在这种情况下看起来并不相关。 – lurker