如何从Prolog中的对象中获得一些结果

时间:2015-12-27 15:37:25

标签: prolog

示例:

specialization(saw, wood).
specialization(plane, wood).

spec_Q(X):-
specialization(S,X),
//do something with S
.

S只返回1个结果

1 个答案:

答案 0 :(得分:1)

也许您正在寻找findall/3

specialization(saw, wood).
specialization(plane, wood).

spec_Q(X) :-
    findall(S, specialization(S,X), SL),
    print(SL).

你可以测试一下:

?- spec_Q(wood).
[saw,plane]
true.