Prolog 序言:为谓词中的变量赋值

Prolog 序言:为谓词中的变量赋值,prolog,Prolog,遵守以下规则: test('John', ebola). test('John', covid). test('Maria', covid). 我怎样才能创建一个谓词来告诉我John或Maria是否同时进行了埃博拉和新冠病毒检测 我想做一些类似的事情,我知道这是错误的,只是想法: tests(Persona, Ebola, Covid) :- Ebola = test(Persona, ebola), Covid = test(Persona, covid). Prolog是

遵守以下规则:

test('John', ebola).
test('John', covid).
test('Maria', covid).
我怎样才能创建一个谓词来告诉我John或Maria是否同时进行了埃博拉和新冠病毒检测

我想做一些类似的事情,我知道这是错误的,只是想法:

tests(Persona, Ebola, Covid) :-
    Ebola = test(Persona, ebola),
    Covid = test(Persona, covid).

Prolog是关系型的,不起作用。testX,Y要么保持,要么失败,并且不返回您所认为的值。以下是您应该写的内容:

tests(Persona) :-
    test(Persona, ebola),
    test(Persona, covid).
您可以查询tests'John',这是真的,因为两个test/2调用都成功。查询测试“玛丽亚”失败,因为埃博拉病毒测试“玛丽亚”失败


它回答了你的问题吗?

Prolog是关系型的,不起作用。testX,Y要么保持,要么失败,并且不返回您所认为的值。以下是您应该写的内容:

tests(Persona) :-
    test(Persona, ebola),
    test(Persona, covid).
您可以查询tests'John',这是真的,因为两个test/2调用都成功。查询测试“玛丽亚”失败,因为埃博拉病毒测试“玛丽亚”失败


它回答了你的问题吗?

我回答了你的问题吗?这会引起其他问题吗?我回答你的问题了吗?它是否提出了其他问题?