2

我是prolog编程的新手。

我想更改 prolog 程序返回的值,使其返回 true / false 而不是标准的 yes 或 no。

考虑一个非常简单的例子:例如 simple.P

node(1).

isNode(X) : node(X)

在 prolog 命令行上,如果我键入 isNode(1),它会返回 yes,例如:

isNode(1).

yes

我的问题是:

我如何将其从“是”更改为“真”?

4

1 回答 1

1

Prolog 试图找到您的查询的证明。如果您的查询有变量,它会打印一个使它们为真的值。

问:有没有偶数的素数?A:是的 - 2 是偶数和素数

只要您键入,它就会不断为您提供更多证明;最终它会用完,并响应错误。

问:有没有偶数的素数?A:是的 - 2 是偶数和素数 Q:还有吗?答:假的。

您想要的是让您的程序执行输出。有许多库谓词可以做到这一点。最灵活的是 format/2

myprogram :-
   my_old_program, !,
   format('yup, that sure is right!~n', []).
myprogram :-
   format('nope, nope, no way in heck!~n', []).
于 2013-03-04T01:40:30.677 回答