【发布时间】:2011-06-22 05:20:40
【问题描述】:
我正在寻找这样的谓词:
?- subset([1,2,3], X).
X = [] ;
X = [1] ;
X = [2] ;
X = [3] ;
X = [1, 2] ;
X = [1, 2, 3] ;
X = [2, 3] ;
...
我见过一些subset 实现,但是当您想要检查一个列表是否是另一个列表的子集时,它们都可以工作,而不是当您想要生成子集时。有什么想法吗?
【问题讨论】:
-
您应该切换子集(X, Y) 谓词中的参数,以便我们自然地读取 X 是 Y 的子集,而不是像您所做的那样:Y 是 X 的子集。