示例:
conditions([-on(a, b)]).
我已经不知疲倦地搜索了这个和+前缀的含义。你是我最后的希望。
答案 0 :(得分:2)
没有提供上下文,所以我想这可能来自文档中的内容。
如果您阅读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))
(-/1
,参数为on/2
)。这里的-
没有提供任何功能,它只是添加了结构(结构是名为-
和参数on(a,b)
的术语。)