2010-11-18 70 views

回答

25
  • ?含義:這個變量可以被實例化,也可以不被實例化。兩種方式都是可能的。
  • +表示:該變量是輸入的謂詞。因此它必須被實例化。
  • -表示:該變量是輸出的謂詞。它通常是非實例化的,但可能是您想要檢查特定的「返回值」。

來源:SWI Prolog文檔的第4章。

3

+意味着Variable2預計將結合的(一個術語,或也許僅僅是一些變量) - 可以認爲這是輸入predicate/3,其中謂詞將不會嘗試修改執行。

-意味着Variable3預計將通過predicate/3在它的執行勢必 - 你可以認爲這是輸出predicate/3。這並不意味着不能被綁定,但是,特別是如果您知道期望什麼並正在檢查成功,但predicate/3被描述爲潛在地綁定(統一)Variable3某事。

?意味着Variable1可以要麼束縛(+,輸入)否(-,輸出) - predicate/3應處理這兩種情況下,如果可以接受。