我有两个堆栈,一个目标和一个正在更改的堆栈。当我完成目标堆栈的每一步时,我会从中删除一个字段。我知道当堆栈现在为空时,我已经完成了一个特定的目标。我正在尝试编写一个规则来测试变量何时为空,但我不断收到错误消息:[EXPRNPSR1] A function name must be an symbol。这是我的规则。
(defrule done
(declare (salience 30))
?stack <- (curr-stack $?thusfar)
?goal <- (goal-stack ?H)
(test (= ?H ()))
=>
(retract ?stack ?goal))
任何帮助表示赞赏!谢谢!