我是prolog编程的新手。
我想更改 prolog 程序返回的值,使其返回 true / false 而不是标准的 yes 或 no。
考虑一个非常简单的例子:例如 simple.P
node(1).
isNode(X) : node(X)
在 prolog 命令行上,如果我键入 isNode(1),它会返回 yes,例如:
isNode(1).
yes
我的问题是:
我如何将其从“是”更改为“真”?
我是prolog编程的新手。
我想更改 prolog 程序返回的值,使其返回 true / false 而不是标准的 yes 或 no。
考虑一个非常简单的例子:例如 simple.P
node(1).
isNode(X) : node(X)
在 prolog 命令行上,如果我键入 isNode(1),它会返回 yes,例如:
isNode(1).
yes
我的问题是:
我如何将其从“是”更改为“真”?
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', []).