我的意思是如何在另一个函数中使用 findall 函数
subset(0, [], []).
subset(Len, [E|Tail], [E|NTail]):- succ(PLen, Len),(PLen > 0 -> subset(PLen, Tail, NTail) ; NTail=[]).
subset(Len, [_|Tail], NTail):- subset(Len, Tail, NTail).
这给出了一个包含 N 个元素的列表的子列表,但我想将所有结果保存在一个列表中,然后我写了
result(N,List,Result):- findall3(Y,subset(N,List,Y),Result).
Howewer 我得到错误,我是 prolog 中的新手,是否允许这种用法,如果不是,我怎样才能在列表中获取这些子列表,无论如何?