male(X).
female(X).
这是我的代码。如果我的查询是:
male(John).
female(Jane).
它给了我一个女性的语法错误,但不是男性。我不知道这个问题来自哪里
答案 0 :(得分:0)
还没有能力发表评论,但是:潜伏者对于谓词的不同以及以大写字母开头的变量是正确的。
但是,要添加到那个,如果你试图创建一个谓词,其中传入的任何变量被发现是男性或女性,那么指定变量X就没有意义了。可以而且应该只使用匿名变量_
。
male(_).
female(_).
我不确定为什么你会希望每次调用男性/女性成功,但由于这已经是你的代码所做的,上面将修复你应该得到的关于X是一个单例变量的警告(a只使用一次的变量)。