在SWI-Prolog中获得多种解决方案

Spe*_*sky 4 prolog prolog-toplevel

我是SWI-Prolog的初学者(但是有Borland Prolog的经验),并且对于以下测试代码,我遇到了奇怪的行为:

test(10).
test(1).
Run Code Online (Sandbox Code Playgroud)

预计查询?-test(A)将获得2个解决方案,例如A = 10; A = 1。但是,只有A = 10产生。我在这里不使用切割。也许SWI-Prolog中默认关闭了回溯功能?

提前致谢

Spe*_*sky 6

抱歉,答案很简单(请参阅SWI-Prolog doc):

如果需要其他解决方案,则用户可以键入分号(;)或空格键。如果您不想看到更多答案,请使用返回键。如果用户使用返回键或Prolog知道没有其他答案,则Prolog用句号(。)来完成输出。如果Prolog无法找到(更多)答案,那么它将写为false。