2012-01-05 102 views
0

我有一个谓词check(A,B)。它检查列表A是否与另一个列表B匹配。检查序言中的双重列表

我需要做一个谓词来检查列表元素是否是单个列表。

+0

向我们展示您迄今为止的代码。 – 2012-01-05 13:09:27

+1

另外你的问题很难理解。单列表是什么意思? [[a],[b],[c]]? – 2012-01-05 13:13:35

+0

我的意思是cheak(A,B)可以在单个列表中工作,如L = [1,2,3,4]。我想让它适用于像L = [[1,2,3],[2,3,4],[3,4,5]] – user1118501 2012-01-05 14:38:04

回答

1

是这样的?

checkList([],[]). 
checkList([A|A2],[B|B2]) :- check(A,B), checkList(A2,B2). 

这是假设,如果A & B不是“单列表”,然后检查将失败(这听起来像你想要的)。

0

你为什么不能只使用

check(A,B) :- A=B. 

那就不是无论什么类型的列表中制成的元素;他们根本不会成为名单!

+0

我不想检查2个列表是否相同,我想根据一些计算看看两个列表是否匹配。我创建了两个普通列表的谓词。我现在需要将它列入列表中。 – user1118501 2012-01-05 14:50:39