Развернуть запрос в список в прологе

Как развернуть запрос в список?

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

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

1 ответ

Решение

Используйте bagof/3 или setof/3. Например:

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

L = [1,2]

да

В вашем случае это было бы

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

Другие вопросы по тегам