如何查看查询是否为我提供了特定数量的结果。
因此,例如,我想要检索仅在三个特定比赛中的汽车模型。
汽车谓词是:car(race#,name)。
答案 0 :(得分:2)
% Car has been on N races
car_with_n_races(Car, N) :-
length(Races, N),
findall(Race, car(Race, Car), Races).
如果setof
可能会返回重复结果,请使用findall
代替car/2
。
(您可以将来电转换为length
和findall
,但我认为此订单可能更有效。)
答案 1 :(得分:0)
car_with_n_races(Car,N): - 计数(种族(种族,租车),N)。
计数(P,计数): - 的findall(1,P,L), 长度(L,计数)。
答案 2 :(得分:0)
car_with_n_races(Car,N): - 计数(汽车(种族,租车),N)。
计数(P,计数): - 的findall(1,P,L), 长度(L,计数)。