我已经搜索过这个解释,但还没找到.在Prolog谓词的描述中,有时在变量名前面的问号,加号和减号是什么意思?
例:
predicate(?Variable1,+Variable2,-Variable3)
Run Code Online (Sandbox Code Playgroud)
Rol*_*lig 29
?意思是:这个变量可以实例化,也可以不实例化.两种方式都是可能的.+表示:此变量是谓词的输入.因此必须实例化它.-表示:此变量是谓词的输出.它通常是非实例化的,但可能是您要检查特定的"返回值".来源:SWI Prolog文档的第4章.