从数据库检索数据而无需打印

时间:2019-04-23 16:54:20

标签: prolog

如何从数据库中检索数据以在某种情况下使用它,但是我不想在控制台上将其打印出来。 我正在做的问题是从一个父母年龄相差15岁的数据库中检索一个孩子。

这是我正在使用的代码,它可以正常工作并打印父母双方的年份。

family(person(_,_,date(_,_,Year1),_),
       person(_,_,date(_,_,Year2),_),
       [person(Name,Surname,_,_)|Y]), abs(Year1-Year2) >= 15.

1 个答案:

答案 0 :(得分:1)

使用查询作为其主体来定义谓词规则(在源文件中)。例如:

child_with_parents_age_gap(Gap, Name, Surname) :-
    family(
        person(_,_,date(_,_,Year1),_),
        person(_,_,date(_,_,Year2),_),
        [person(Name,Surname,_,_)| _]
    ),
    abs(Year1-Year2) >= Gap.