什么错误问题?
ERROR-1:[ARGACCES5]function >= 预期参数 #2 为整数或浮点类型。ERROR-2:[CSTRCPSR1] 期望开始一个委托。
如何修复此错误?
什么错误问题?
ERROR-1:[ARGACCES5]function >= 预期参数 #2 为整数或浮点类型。ERROR-2:[CSTRCPSR1] 期望开始一个委托。
如何修复此错误?
对于第一个错误,您将一个非数字参数作为第二个参数传递给 >= 函数。当构造中发生错误时,CLIPS 将显示已解析的内容以帮助您定位问题:
CLIPS>
(defrule example
(test (>= 3 a))
=>)
[ARGACCES5] Function >= expected argument #2 to be of type integer or float
ERROR:
(defrule MAIN::example
(test (>= 3 a)
CLIPS>
通常,当您在加载构造时有多余或缺少括号时,会发生第二个错误。例如,如果您创建一个名为 example.clp 的文件,其内容如下:
(defrule example-1 =>)
(defrule example-2 =>)
) ; Extra parenthesis
(defrule example-3 =>)
(defrule example-4 =>)
当您尝试加载它时,您会收到此错误:
CLIPS> (watch compilations)
CLIPS> (load "example.clp")
Defining defrule: example-1 +j+j
Defining defrule: example-2 +j
[CSTRCPSR1] Expected the beginning of a construct.
Defining defrule: example-3 +j
Defining defrule: example-4 +j
FALSE
CLIPS>
如果您正在观看编译,您可以更好地了解错误发生的位置。在这种情况下,它位于规则 example-2 和 example-3 之间。