我有一个谓词m(L,L)
,我希望它返回它接收到的列表。代码如下:
m([],[]).
m([H|T],[H|L]) :- m(T,L).
当我尝试使用以下示例时:
m([1,2,3,4,5,6,7,8,9,10],L)
我得到的答案是:
L = [1, 2, 3, 4, 5, 6, 7, 8, 9|...].
我注意到如果我试着减少元素,它就可以正常工作。为什么会发生这种情况,而列表却没有完成?
我该如何避免这种情况?
如果我的问题很愚蠢,对不起。但我已经在网上搜索了很多文档,也找不到能帮助我理解的资料...谢谢!