我使用SWI-Prolog,我想列出其他幾個列表。如何在序言中創建列表
例如,我想提出以下三個列表
[a,b,c]
[1,2]
[d]
成一個較大的一個,看起來像[[a,b,c],[1,2],[d]]
。
divideList([]):-!.
divideList([Head|Tail]):-
list_to_set(Head,H),%H is a List
divideList(Tail).
我想把所有的H放在一個列表中。 我該怎麼做?
我使用SWI-Prolog,我想列出其他幾個列表。如何在序言中創建列表
例如,我想提出以下三個列表
[a,b,c]
[1,2]
[d]
成一個較大的一個,看起來像[[a,b,c],[1,2],[d]]
。
divideList([]):-!.
divideList([Head|Tail]):-
list_to_set(Head,H),%H is a List
divideList(Tail).
我想把所有的H放在一個列表中。 我該怎麼做?
的問題是,你不使用你的謂詞H至放列表中選擇所需
這應該這樣做
divideList([], []):-!.
divideList([Head|Tail], [H|HTail]):-
list_to_set(Head,H),%H is a List
divideList(Tail, HTail).
第二個參數將有你的名單列表。
根本不需要切割。 – 2011-05-13 08:30:54
@larsman:對,但我剛剛添加了OP代碼中缺少的內容,所以我將其保留原樣。 – gusbro 2011-05-13 13:22:59
問題不明確。你有沒有固定數量的列表,你想把它放在一個列表中? – gusbro 2011-05-12 19:03:13
是的,我有三個列表,但可以更改。我想把它們放在更大的一個。 – Mary 2011-05-12 20:05:17
假設三個列表與變量A,B,C統一,那麼您只需編寫[A,B,C] – gusbro 2011-05-12 20:11:32