2012-01-05 101 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