这个Prolog程序打印Hello:
main :-
write('Hello'), nl.
:- main.
Run Code Online (Sandbox Code Playgroud)
我改(:-)/1到(?-)/1:
main :-
write('Hello'), nl.
?- main.
Run Code Online (Sandbox Code Playgroud)
这产生完全相同的结果.这也打印Hello.
那么(:-)/1和之间的区别是(?-)/1什么?
term 与主函子的参数(:-)/1称为指令。在 Prolog 标准中,它是在 7.4.2 指令中定义的。
此外,5.5.5 规定:
处理器可以支持一个或多个附加指令指示符(7.4.2)作为实现特定的功能。
因此,在某些 Prolog 系统中,(?-)/1可用作附加指令指示器。