示例:
conditions([-on(a, b)]).
我不知疲倦地寻找这个词和+前缀的含义,但没有结果。你是我最后的希望。
没有提供上下文,所以我认为这可能来自文档中的某些内容。
如果您阅读Prolog手册中的介绍材料(SWI、Gnu或其他),它们描述了这些约定。+
、-
和?
用作文档中的约定,用于指示变量是输入、输出还是变量(任意一个)。例如,来自Gnu Prolog手册:
+
:必须实例化参数。
-
:参数必须是一个变量(如果内置谓词成功,则会实例化)。
?
:参数可以是实例化的,也可以是变量。
因此,例如,atom_length/2
被描述为;
atom_length(+atom, ?integer)
这意味着您必须提供atom
(它不能是变量),而integer
既可以是变量(在这种情况下atom_length
将提供值),也可以实例化(在这种情形下atom_length
将指示您的查询是真是假)`。
从这个意义上讲,您通常不会在代码中使用-
或+
,除非您真的打算将其作为术语的一部分。考虑到给定的例子,它看起来可能是这个术语的预期部分:
conditions([-on(a, b)]).
列表参数由一个术语组成,如果拼写完整,则为-(on(a,b))
(参数为on/2
的-/1
)。这里的-
不提供任何功能,它只是添加了结构(该结构是一个名称为-
、参数为on(a,b)
的术语)。