返回列表序列的元素列表

时间:2018-05-26 13:52:16

标签: list prolog head

如何在Prolog中返回列表列表的所有元素:

那是我的代码:

treturn_list_members([[Head|_]|Lists], Head).
treturn_list_members([[_|T]|Lists], Head):- return_list_members([T|Lists], Head).

当我执行时,它只返回第一个列表的元素。

?- treturn_list_members([[12,3],[45,6],[11,90]],L).
L = 12 ;
L = 3 ;
false.

1 个答案:

答案 0 :(得分:2)

而是使用更好的名字。 “返回”意味着您可以操作此关系。但这足以说出论点是什么:

listoflist_member(Xss, X) :-
   member(Xs, Xss),
   member(X, Xs).