2
我有單引號原子的問題。 雖然p =='p'返回true,爲什麼p = \ ='p'不返回false?它給了我一個錯誤,說'P'不是一個函數。爲什麼p = 'p'在SWI-prolog中返回錯誤?
我有單引號原子的問題。 雖然p =='p'返回true,爲什麼p = \ ='p'不返回false?它給了我一個錯誤,說'P'不是一個函數。爲什麼p = 'p'在SWI-prolog中返回錯誤?
因爲==
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 ?-
@lurker謝謝!我修復了它。 – 921Kiyo