我正在一个项目上,想找出为什么我的if语句不起作用。我的代码如下:
pip install …
它给我的错误是(生产遗漏的函数声明是)。有人可以就问题出在我身上吗? 谢谢。
答案 0 :(得分:1)
也许您期望if函数执行模式匹配以确定事实(生产中等)或(生产高)。那是行不通的,因为if函数类似于Java和C等其他语言,在该语言中该函数希望表达式进行求值(例如函数调用或变量)。在if语句中,表达式(生产中等)和(生产高)是函数调用,并且由于您没有声明生产是函数,因此会收到错误消息。
您应将原始规则分为两个规则:
(defrule accept-location-lessthan-path-medium
(geological-survey-lessthan-path-is stable | Stable)
(production-is medium)
=>
(assert (medium-outcome))
(printout t "Second best" crlf))
(defrule accept-location-lessthan-path-high
(geological-survey-lessthan-path-is stable | Stable)
(production-is high)
=>
(assert (ideal-location))
(printout t "Accepted! The location is ideal; you can start building now! :)" crlf))