假设我的知识库包含一个事实: 事实(事实1)。
如果我知道提交查询事实(fact1)。
39 ?- fact(fact1).
40 ?-
它什么也没说,相当于 true。 B/c 如果错误,Prolog 会返回 false:
38 ?- fact(foobar).
false.
那么我该如何改变它才能得到真实的结果。 ?
看起来像 SWI Prolog 编辑器(至少在某些版本上),默认情况下设置以下环境标志:
set_prolog_flag(prompt_alternatives_on, groundness).
要显示true,您可以像这样更改它:
set_prolog_flag(prompt_alternatives_on, determinism).
这有一个副作用,要求用户在每个 true 之后按一下才能返回交互式提示...(不确定是否有更好的方法来实现此目的。)