【发布时间】:2013-03-03 18:51:46
【问题描述】:
我是 prolog 编程的新手。
我想更改 prolog 程序返回的值,使其返回 true / false 而不是标准的 yes 或 no。
考虑一个非常简单的例子: 例如。简单。P
node(1).
isNode(X) : node(X)
在 prolog 命令行中,如果我输入 isNode(1),它会返回 yes,例如:
isNode(1).
yes
我的问题是:
如何将其从 yes 更改为 true?
【问题讨论】:
-
严格来说,这不是你用你的程序控制的部分,而是你正在使用的Prolog系统的用户界面。这样的接口,通常称为
REPL(Read,Eval,Print,Loop),或者更常见的是console,它是允许程序员控制 Prolog 的“内部工作”的更简单的方法。作为一名程序员,您应该为您的程序定义您的自己的界面,从而以真/假或您认为更好的方式回答用户输入。 -
这取决于您使用的 Prolog 方言。例如,SWI Prolog 有时不报告任何内容,有时它会显示“true”。
-
@AlexanderSerebrenik:SWI 什么时候不报告任何内容?据我了解,它总是会产生答案。
-
@false:它会产生一个答案,但一旦显示答案,它不一定添加“是”或:真。
标签: prolog prolog-toplevel xsb