什么错误问题?
错误-1: ARGACCES5function >=要求参数#2的类型为整数或浮点数。错误-2: CSTRCPSR1期望一个收缩的开始。
如何修复此错误?
发布于 2013-11-24 00:56:51
对于第一个错误,您将一个非数字参数作为第二个参数传递给>=函数。当构造中出现错误时,剪辑将向您显示已解析的内容,以帮助您定位问题:
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之间。
https://stackoverflow.com/questions/20159473
复制相似问题