0
假設我在swi-prolog中創建瞭如下的函數。在Prolog編程中始終寫入初始值
function1(param) :- VALUE is 0, findValue(VALUE), write(VALUE).
然而總是打印出來。 findValue函數在邏輯上是正確的。'
是否無法使用計算的值在函數1?
假設我在swi-prolog中創建瞭如下的函數。在Prolog編程中始終寫入初始值
function1(param) :- VALUE is 0, findValue(VALUE), write(VALUE).
然而總是打印出來。 findValue函數在邏輯上是正確的。'
是否無法使用計算的值在函數1?
忽略VALUE is 0
。
通過說明它的功能findValue
將設置根據VALUE
變量的休息,因爲您提供的索賠第一是公理級真實的,其餘的與它們對應。
例如,採取
func(X):- X is 0.
如果查詢func(X).
它會導致X=0
,因爲它假定要進行分配。
但是,如果您使用像func(0).
這樣的號碼進行查詢,它將檢查是否X==0
,從而導致布爾答案。
但是,解釋器顯示錯誤信息。 '參數沒有被充分實例化。' – newbie16
可能是您的'findValue'方法的一個問題,您沒有包括。添加它。 – Uriel