我有一组这样的事实:
person(tj, 'Tom James', house).
person(jj, 'Jim Jones', hut).
person(aw, 'Alex Wolf', boat).
person(jw, 'John Wolf', boat).
我想获得他们可以居住的地方的清单:
[boat, house, hut].
我试过setof:
placeList(Places) :- setof(Place, person(_, _, Place), Places).
但我一次只得到每个地方而不是一个列表。我也试过 findall,但这会重复船,而且不是标准顺序。有人可以指出我在这里出错的地方吗?谢谢。