我有谓词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|...].
(我注意到如果我尝试使用较少的元素就可以了。)为什么会发生这种情况并且列表未完成?
我怎样才能避免这种情况?
抱歉,如果这是一个非常愚蠢的问题,但是我已经在网上搜索过,但找不到任何可以帮助我理解的文档...谢谢!