Развернуть запрос в список в прологе - PullRequest
0 голосов
/ 18 сентября 2009

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

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

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

1 Ответ

4 голосов
/ 18 сентября 2009

Используйте bagof / 3 или setof / 3. E.g.:

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

L = [1,2]

да

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...