如何使用conc操作编写prolog程序以删除列表中的最后一项。
cut_last( L1, L2)
以下是我的答案,如果我错了或者这是正确的,请有人纠正我吗?
cut_last(L1,L2):- conc(L2,[_],L1)
答案 0 :(得分:1)
您可以使用append/3
来实现这一目标。
cut_last(L1, L2):-
append(L2, [_], L1).
该条款声明L2
L1
没有最后一个元素,如果将任何长度为1的列表附加到L2
,您将获得与L1
统一的内容。
?- cut_last([1,2,3],L).
L = [1, 2] ;
false.