如何在prolog中列出列表

时间:2011-05-12 18:34:16

标签: list prolog predicate

我使用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放在一个列表中。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

问题是你没有在谓词中使用H来放置你想要的列表

这应该这样做

divideList([], []):-!.
divideList([Head|Tail], [H|HTail]):-
    list_to_set(Head,H),%H is a List 
    divideList(Tail, HTail).

第二个参数将包含您的列表列表。