2010-11-18 88 views

回答

25
  • ?含义:这个变量可以被实例化,也可以不被实例化。两种方式都是可能的。
  • +表示:该变量是输入的谓词。因此它必须被实例化。
  • -表示:该变量是输出的谓词。它通常是非实例化的,但可能是您想要检查特定的“返回值”。

来源:SWI Prolog文档的第4章。

3

+意味着Variable2预计将结合的(一个术语,或也许仅仅是一些变量) - 可以认为这是输入predicate/3,其中谓词将不会尝试修改执行。

-意味着Variable3预计将通过predicate/3在它的执行势必 - 你可以认为这是输出predicate/3。这并不意味着不能被绑定,但是,特别是如果您知道期望什么并正在检查成功,但predicate/3被描述为潜在地绑定(统一)Variable3某事。

?意味着Variable1可以要么束缚(+,输入)否(-,输出) - predicate/3应处理这两种情况下,如果可以接受。