我是prolog编程的新手。
我想更改prolog程序返回的值,使其返回true / false而不是标准yes或no。
考虑一个非常简单的例子: 例如。 simple.P
node(1).
isNode(X) : node(X)
如果我输入isNode(1),则在prolog命令行上返回yes,如:
isNode(1).
yes
我的问题是:
如何将此更改为“是”?
答案 0 :(得分:1)
Prolog尝试查找您的查询证明。如果您的查询包含变量,则会输出一个使其成立的值。
问:是否有任何素数均匀? 答:是的 - 2是偶数和素数只要你输入,它就会不断给你更多的证明; 最终它会耗尽,并作出回应 假的。
问:是否有任何素数均匀? 答:是的 - 2是偶数和素数 问:还有吗? A:假。您希望程序执行输出。有许多库谓词可以做到这一点。最灵活的是格式/ 2
myprogram :-
my_old_program, !,
format('yup, that sure is right!~n', []).
myprogram :-
format('nope, nope, no way in heck!~n', []).