2017-06-04 26 views
1

我在SWI-Prolog的初學者(但在Borland的Prolog的一些經驗),我也面臨着下面的測試代碼一個奇怪的行爲:獲取多種解決方案在SWI-Prolog的

test(10). 
test(1). 

預計查詢?-test(A)可獲得2個解決方案,如A = 10; A = 1。但是,僅生產A = 10。我不在這裏使用剪切。在SWI-Prolog中,默認情況下回溯可能是關閉的?

在此先感謝

+0

當'A = 10'返回壓力';'得到另一個解決方案等等...... – coder

+0

編碼器,非常感謝您的回覆,並抱歉愚蠢的問題。我沒有想到在每個解決方案後都需要按空格鍵或分號,然後我按下了Return鍵。 – Spectorsky

回答

1

對不起,答案很簡單(見SWI-Prolog doc):

用戶可以鍵入分號(;)或空格鍵,如果他(她)想要的另一解。如果您不想看到更多答案,請使用返回鍵。如果用戶使用返回鍵或者Prolog知道沒有更多的答案,Prolog用句號(。)完成輸出。如果Prolog找不到(更多)答案,它會寫入false。

+1

該手冊是SWI Prolog基本方面如何工作的重要信息來源。 – lurker