Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何在Prolog中检查一个列表是否处理另一个列表_List_Prolog - Fatal编程技术网

List 如何在Prolog中检查一个列表是否处理另一个列表

List 如何在Prolog中检查一个列表是否处理另一个列表,list,prolog,List,Prolog,我想创建一个参数,该参数在一个列表继续另一个列表时成功 例如?-继续列表([1,2],[2])。Yes或True(无论编译器如何) 有人能帮我吗?你的问题很难分析。正如aqua所评论的,你应该重新措辞。值得一提的是,我理解您的示例,您希望检查第二个列表[2]是否是第一个[1,2]的尾部(即“继续”意义上的“继续”)。如果这是您想要的,那么这应该可以: proceed_list(L1, L2) :- once(append(_, L2, L1)). 你的问题很难分析。正如aqua所评论的

我想创建一个参数,该参数在一个列表继续另一个列表时成功

例如?-继续列表([1,2],[2])。Yes或True(无论编译器如何)


有人能帮我吗?

你的问题很难分析。正如aqua所评论的,你应该重新措辞。值得一提的是,我理解您的示例,您希望检查第二个列表
[2]
是否是第一个
[1,2]
的尾部(即“继续”意义上的“继续”)。如果这是您想要的,那么这应该可以:

proceed_list(L1, L2) :-
    once(append(_, L2, L1)).

你的问题很难分析。正如aqua所评论的,你应该重新措辞。值得一提的是,我理解您的示例,您希望检查第二个列表
[2]
是否是第一个
[1,2]
的尾部(即“继续”意义上的“继续”)。如果这是您想要的,那么这应该可以:

proceed_list(L1, L2) :-
    once(append(_, L2, L1)).

你能重新措辞或澄清你的问题吗?是的,没问题。我想做一个参数,让我们把它命名为继续_list(X,Y),当列表Y继续列表X时,它会成功。换句话说,列表Y的项在列表X之后。例如[1,2,3]继续[1,2]。例如,如果我们问prolog?-procedu list([1,2],[2]),那么答案应该是肯定的。我希望有帮助。你能重新措辞或澄清你的问题吗?是的,没问题。我想做一个参数,让我们把它命名为继续_list(X,Y),当列表Y继续列表X时,它会成功。换句话说,列表Y的项在列表X之后。例如[1,2,3]继续[1,2]。例如,如果我们问prolog?-procedu list([1,2],[2]),那么答案应该是肯定的。我希望有帮助。非常感谢你。我以后会尽量更具体地回答我的问题。@Pantheo:btw如果你喜欢twinterer的答案,你可以点击他的答案的复选标记来接受:)将O(1)作为尾部插入的差异列表:(((非常感谢twinterer。我以后会尽量更具体地回答我的问题。@Pantheo:btw如果你喜欢twinterer的答案,你可以点击他的答案的复选标记接受它:)O(1)作为尾部插入的差异列表:(((