扩展this问题,为SWI-Prolog提出多种解决方案需要哪些按键操作?
测试代码:
test(10).
test(1).
尝试的互动:
?-test(X). // <- entered query
*按enter
会产生以下结果:
?-test(X).
X = 10.
?- // <- typing prompt here, pressing ";" here enters semi-colon character in new line.
根据手册:
如果需要其他解决方案,则用户可以键入分号(;)或空格键。如果您不想看到更多答案,请使用返回键。如果用户使用返回键或Prolog知道没有其他答案,则Prolog用句号(。)来完成输出。如果Prolog无法找到(更多)答案,那么它将写为false。
何时应按下这些键(分号/空格),以便程序提供多种解决方案而不是开始新的查询?
答案 0 :(得分:0)
看到时
X = 10.
?-
(带有时间段的 已经出现),这意味着该点是由Prolog自己打印的,表示不再有其他解决方案。此时与查询的交互已经结束,并且等待提示符?-
指示的下一个查询。
如果Prolog“认为”那里有 个解决方案,那么您会看到X = 10 _
(在0
之后带有空格),并且它会等待您的按键,光标_
仍在该行上,而不会显示提示。如果您当时按了句号,而放弃了您自己的更多解决方案的搜索,则记录会显示
X = 10 . % notice the space
?-