【发布时间】:2015-01-25 19:16:30
【问题描述】:
我对应该如何编写 Prolog 规则的结构感到困惑。
比方说,我想说只有鸟会飞。
我的规则应该写成
fly(X):- bird(X).
或
bird(X):-fly(X).
它们之间的含义有什么区别? 此外,我是否需要明确声明如果实体不是鸟,它就不能飞?
另外,如果我想说... 我可以去动物园或图书馆。动物园或图书馆,但不能两者兼而有之。应该如何? 我假设它是..
go_there(X,Place):-
go_there(X,zoo),
go_there(X,library).
请对我温柔一点,因为这是我第一次尝试 Prolog 编程!谢谢!
【问题讨论】:
-
这并不是 SWI Prolog 特有的,是吗?
-
@lurker,我在 SWI-prolog 中的代码存在一些未解决的问题。我希望有人能指出我在逻辑上出错的地方......你认为你可以在这里帮忙吗? :)
-
如果您的代码有其他具体问题,您能否将其表述为可以在 stackoverflow.com 上发布的另一个问题?
-
我将把它表述为另一个问题并编辑这篇文章。这样会好吗?
-
您应该创建一个新问题,而不是在此问题上添加更多内容。否则,它将混淆该线程中的整个问题/答案序列。如果您需要参考这个问题,可以在新问题中使用超链接。