2017-07-15 38 views

回答

1

因为== checks term equality,而=\= checks arithmetical inequality。作为为p不是数字,Prolog的将其视为一个算术表达式,试图找出其算术值:

1 ?- p == 'p'.
true.

2 ?- p =/= 'p'.
ERROR: Syntax error: Operator expected
ERROR: p
ERROR: ** here **
ERROR: =/= 'p' .

2 ?- p =\= 'p'.
ERROR: =\=/2: Arithmetic: `p/0' is not a function

3 ?-

相关问题