展开查询到在序言名单(Expand a query into a list in prolog)

2019-10-30 01:29发布

如何扩大查询到一个列表?

f(a,b).
f(a,c).
d(a.d).

expand(f(a,X), Out)  -----> Out=[b,c,d]

Answer 1:

使用bagof / 3或SETOF / 3。 例如:

? - bagof(X,(X = 1; X = 2),L)。

L = [1,2]

你的情况,这将是

? - bagof(X,F(A,X),输出)。



文章来源: Expand a query into a list in prolog
标签: prolog