Prolog - 编写一个计算两个原子语句之和的谓词

时间:2015-09-25 13:48:32

标签: prolog

假设我有:

person(bob,50) . 
person(joe,60) .

我想编写一个名为' totalAge(A)' ,它计算两个原子语句的总值A?

我将如何继续这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用findall/3收集所有年龄段,然后将其与sumlist/2相加:

totalAge(A):-
  findall(Age, person(_, Age), Ages),
  sumlist(Ages, A).