什么是Prolog中的 - >运算符,我该如何使用它?

Jua*_*nti 9 operators prolog

我已经在一本书中读到了它,但根本没有解释.我也从未在程序中看到它.是Prolog语法的一部分吗?这是为了什么?你用它吗?

Ste*_*202 8

它代表了含义.只有在左侧为真时才执行右侧.因此,如果你有这个代码,

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)

(链接到文档.)

  • 等等,如果这意味着,那么逻辑"假 - >假"应该给出"真实",而实际上并不是这样.那是什么? (2认同)
  • @BłażejMichalik不是合乎逻辑的含义,而是一个命令式的if-then-else,内含一个隐含的切口. (2认同)