私はSWI Prologを使っています。私は、XとYの和を返すadd(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)
はまた、私は:-
と:=
しばらくの違いを理解することはできません書くルール。私は、:=
が関数を定義するために使用されている間に、述語を定義するために:-
が使用されているところを読んでいます。これが正しいかどうかはわかりません。関数を定義するのに:=
を使ってみましたが、機能しません。