prolog之如何在 Prolog 中做到这一点
落叶无声
阅读:204
2024-06-20 12:54:19
评论:0
我是 Prolog 的新手。
使用这个基本的“数据库”结构,我想我可以查询数据库来找出答案
- 谁吃鱼?
鲸鱼吃什么?
eats(Horse, grass). eats(Monkey, banana). eats(Whale, fish).
我不想更改该数据库设置(如果可能)。我正在使用以下查询以及相应的不需要的结果:
在这里,我试图问,“谁吃鱼?”
?- eats(X, fish).
true.
在这里,我试图问,“鲸鱼吃什么?”
?- eats(Whale,X).
X = grass ;
X = banana ;
X = fish.
请您参考如下方法:
您的查询是正确的,这是您的事实数据库错误。原子需要以小写字母开头(或被引用)。您以大写字母开头 Horse, Monkey, Whale,因此它们是变量(并且匹配任何内容)。因此,您当前的数据库相当于:
eats(X, grass).
eats(X, banana).
eats(X, fish).
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。