我在SWI-Prolog的初學者(但在Borland的Prolog的一些經驗),我也面臨着下面的測試代碼一個奇怪的行爲:獲取多種解決方案在SWI-Prolog的
test(10).
test(1).
預計查詢?-test(A)
可獲得2個解決方案,如A = 10; A = 1
。但是,僅生產A = 10
。我不在這裏使用剪切。在SWI-Prolog中,默認情況下回溯可能是關閉的?
在此先感謝
我在SWI-Prolog的初學者(但在Borland的Prolog的一些經驗),我也面臨着下面的測試代碼一個奇怪的行爲:獲取多種解決方案在SWI-Prolog的
test(10).
test(1).
預計查詢?-test(A)
可獲得2個解決方案,如A = 10; A = 1
。但是,僅生產A = 10
。我不在這裏使用剪切。在SWI-Prolog中,默認情況下回溯可能是關閉的?
在此先感謝
對不起,答案很簡單(見SWI-Prolog doc):
用戶可以鍵入分號(;)或空格鍵,如果他(她)想要的另一解。如果您不想看到更多答案,請使用返回鍵。如果用戶使用返回鍵或者Prolog知道沒有更多的答案,Prolog用句號(。)完成輸出。如果Prolog找不到(更多)答案,它會寫入false。
該手冊是SWI Prolog基本方面如何工作的重要信息來源。 – lurker
當'A = 10'返回壓力';'得到另一個解決方案等等...... – coder
編碼器,非常感謝您的回覆,並抱歉愚蠢的問題。我沒有想到在每個解決方案後都需要按空格鍵或分號,然後我按下了Return鍵。 – Spectorsky