【发布时间】:2013-07-22 15:45:08
【问题描述】:
我对 prolog 很陌生,我正在尝试(自我)学习使用 SWI-Prolog(Windows 版)的基础知识。我这个问题肯定是新手问题,请见谅。
我正在使用主交互式窗口,尝试按照教程 (this one) 进行操作,但我对 SWI-prolog 的答案有一点不理解。
按照我的理解,SWI-Prolog 会通过写“真”或“假”来回复我的查询,我可以按照教程进行操作并获得预期的结果。
让我感到困惑的是,SWI 使用红色和黑色两种颜色打印他的答案。有时答案是用红色写的,有时是用黑色写的,有时我会得到两个相反的答案[比如:“真;假”] 一个是黑色的,一个是红色的!
我搜索了 SWI-prolog 文档,但未能在响应中找到两种不同颜色的含义。
谁能指出相关的 SWI 文档或解释为什么会发生这种情况?
编辑:
总结一下:
用红色写的“真实”答案和用黑色写的答案有什么区别?
用红色写的“错误”答案和用黑色写的答案有什么区别?
【问题讨论】:
-
据我所知,红色用于表示失败或错误。否则,使用黑色。
-
这就是重点:用红色写的“真实”答案和用黑色写的答案有什么区别?用红色写的“错误”答案和用黑色写的答案之间的区别?肯定有一个意思,但我不明白。
-
你能给我举个例子,用红色写的“真”答案或用黑色写的“假”答案吗?我从来没有遇到过这样的事情。
-
所以红色代表失败,黑色代表在数据库中找到答案?那是规则?好的,谢谢你的回答。
-
不完全确定“在数据库中找到”是什么意思。如果 Prolog 可以根据给定的规则和子句找到满足目标的术语,它将显示该术语作为输出。如果您有一个没有未绑定变量的目标,并且该目标可以根据规则/子句解析为 true,它将以黑色输出“true”。否则会以红色输出“false”。
标签: swi-prolog