我正在使用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)
而且,我无法理解:-
和:=
而之间的区别编写规则。我在某处读到:-
用于定义谓词,而:=
用于定义函数。我不确定这是否正确。我尝试使用:=
来定义函数,但它不起作用。