【发布时间】:2015-10-06 10:52:50
【问题描述】:
我在 Prolog 中编程,有时我想失败,但我得到了一个异常,我不明白为什么它们之间应该有所不同。如果某事无法执行,则意味着谓词没有成功,所以这是一个简单的失败。我错过了什么吗?
【问题讨论】:
标签: exception prolog negation-as-failure
我在 Prolog 中编程,有时我想失败,但我得到了一个异常,我不明白为什么它们之间应该有所不同。如果某事无法执行,则意味着谓词没有成功,所以这是一个简单的失败。我错过了什么吗?
【问题讨论】:
标签: exception prolog negation-as-failure
失败意味着你试图证明的是错误的。异常意味着您尝试证明的内容由于某种原因没有意义(例如,尝试计算原子的平方根),或者您遇到了某些系统限制(例如,耗尽了可用内存)。
但是您可以通过以下方式轻松地将任何异常转换为失败:
catch(Goal, _, fail)
【讨论】: