0
swi-prologで以下のような関数を作ったとします。Prologプログラミングでは常に初期値を書きます
しかしfunction1(param) :- VALUE is 0, findValue(VALUE), write(VALUE).
は必ずプリントアウトされます。 findValue関数は論理的に正しいです。 '
使用できませんfunction1で計算されたVALUE?
swi-prologで以下のような関数を作ったとします。Prologプログラミングでは常に初期値を書きます
しかしfunction1(param) :- VALUE is 0, findValue(VALUE), write(VALUE).
は必ずプリントアウトされます。 findValue関数は論理的に正しいです。 '
使用できませんfunction1で計算されたVALUE?
注釈VALUE is 0
。
findValue
は、最初に提供する主張が真実のものであり、残りはそれに対応するので、残りの変数をVALUE
に設定します。例えば
、あなたがfunc(X).
を照会した場合、それはあなたが割り当てをしたいと仮定しているため、それはX=0
になります
func(X):- X is 0.
を取ります。
しかし、func(0).
のような番号を使用してクエリを実行すると、X==0
かどうかがチェックされ、ブール型の回答が返されます。
しかし、インタプリタはエラーメッセージを表示しました。 '引数が十分にインスタンス化されていません。 ' – newbie16
' findValue'メソッドの問題はおそらくあなたが含んでいません。それを追加します。 – Uriel