2013-09-03 2 views
0

Это очень простой вопрос;)Пролог: магазин решений в списке


факт (а).

факт (b).

тест (X): - факт (X).

решения X = a; Х = Ь. OK

Я пытаюсь создать: test (X, L): - факт (X), ??? что возвращает L = [a, b]

Может кто-нибудь мне помочь? Благодарю.

ответ

2

Применение findall/3 к aggregate решения:

test(L):- 
    findall(X, fact(X), L). 
+0

Параметр 'x' в предиката' test' является излишним. – lurker

+0

@mbratch: право, я бы сказал, что это было просто неправильно;). Починил это – gusbro

Смежные вопросы