我正在使用SWI Prolog。我希望定義一個add函數:add(X, Y)
,它返回X和Y的總和。但是,我不知道如何在Prolog中定義函數。我試着這樣做使用謂詞是這樣:在Prolog中編寫函數
add(X, Y, Z) :- Z is X+Y.
,但在執行的形式add(2, 3, X)
的查詢這給出了一個錯誤說:
ERROR: toplevel: Undefined procedure: add/3 (DWIM could not correct goal)
而且,我無法理解:-
和:=
而之間的區別編寫規則。我在某處讀到:-
用於定義謂詞,而:=
用於定義函數。我不確定這是否正確。我嘗試使用:=
來定義函數,但它不起作用。