我已经在一本书中读到了它,但根本没有解释.我也从未在程序中看到它.是Prolog语法的一部分吗?这是为了什么?你用它吗?
它代表了含义.只有在左侧为真时才执行右侧.因此,如果你有这个代码,
implication(X) :-
(X = a ->
write('Argument a received.'), nl
; X = b ->
write('Argument b received.'), nl
;
write('Received unknown argument.'), nl
).
Run Code Online (Sandbox Code Playgroud)
然后它会根据它的参数写出不同的东西:
?- implication(a).
Argument a received.
true.
?- implication(b).
Argument b received.
true.
?- implication(c).
Received unknown argument.
true.
Run Code Online (Sandbox Code Playgroud)
(链接到文档.)