2011-05-16 83 views
0

我想編寫一個謂詞,它從一個事實數據庫返回一個解決方案。如果沒有解決方案存在謂詞應該返回「沒有解決方案存在」。返回一個存在於事實庫中的解決方案是微不足道的。如何實施「無解決方案」部分。我使用SWI-Prolog。Prolog測試謂詞是否失敗

回答

2

如果你有一個謂語,說fact/1包含所有的事實,你可以按如下使用if-then-else語句:

fact_or_no_solution(Sol) :- 
    (fact(X) -> 
     Sol = X 
    ; 
     Sol = 'No solution exists' 
    ). 
+0

老兄,你真棒。 – onurozcelik 2011-05-16 12:29:47