0

如何将查询扩展为列表?

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

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

1 回答 1

4

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

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

L = [1,2]

是的

在你的情况下,那将是

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

于 2009-09-18T16:11:03.527 回答