Expand a query into a list in prolog

2019-08-18 02:10发布

问题:

How to expand a query into a list?

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

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

回答1:

Use bagof/3 or setof/3. E.g.:

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

L = [1,2]

yes

In your case that would be

?- bagof(X, f(a,X), Out).



标签: prolog