【问题标题】:SWI prolog: answers written in red and/or blackSWI prolog:用红色和/或黑色书写的答案
【发布时间】: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


【解决方案1】:
  1. 红色表示新建;独立(无递归)
  2. 黑色表示递归
  3. 蓝色表示在 SWI-PROLOG 中定义

希望这有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 2014-01-13
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多