检查变量是否等于Prolog中的规则
我想检查用户通知的变量是否等于某些现有规则,例如: 我有以下规则检查变量是否等于Prolog中的规则,prolog,Prolog,我想检查用户通知的变量是否等于某些现有规则,例如: 我有以下规则 general(mammal) :- facts. general(bird) :- facts. 那我会的 read(X). 我想检查X是否等于哺乳动物或鸟类。有办法吗? 谢谢是的,你可以。例如 read(X), (X=mammal ; X=bird). 分号表示逻辑析取或运算符,括号用于确保目标的正确顺序。 如果X被实例化为哺乳动物或鸟类,它将具有该值,否则它将为false 编辑: 如果我理解正确,您希望: read(X
general(mammal) :- facts.
general(bird) :- facts.
那我会的
read(X).
我想检查X是否等于哺乳动物或鸟类。有办法吗?
谢谢是的,你可以。例如
read(X), (X=mammal ; X=bird).
分号表示逻辑析取或运算符,括号用于确保目标的正确顺序。
如果X被实例化为哺乳动物或鸟类,它将具有该值,否则它将为false
编辑:
如果我理解正确,您希望:
read(X), general(X).
Prolog将找到X,以实现其目标,然后进入目标generalX。如果X是哺乳动物或鸟类,Prolog将把目标与其中一个通则匹配,否则它将失败。但我希望程序自动完成。我希望它检查每个一般规则,如果X等于它的名称