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