我想在运行规则时增加安全性。现在,它什么也没有改变。事实(human_resources n)确实存在。

(defglobal?security = 0)

(第1条规则
(human_resources n)
=>
(defglobal?security =(+?security 1))
)

这导致?* security = 1:
(defglobal?security = 0)
(defglobal?security =(+?security 1))

最佳答案

CLIPS> (defglobal ?*security* = 0)
CLIPS>
(defrule rule1
   (human_resources n)
   =>
   (bind ?*security* (+ ?*security* 1)))
CLIPS> (reset)
CLIPS> ?*security*
0
CLIPS> (assert (human_resources n))
<Fact-1>
CLIPS> (run)
CLIPS> ?*security*
1
CLIPS>

关于clips - CLIPS使用规则增加变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5718243/

10-09 14:29