0

我如何与剪辑中的 nil 进行比较?
我试过了

(defrule update-time                                                        
    ?cur-time <- (current-time ?time)                                           
    (order (event-time ?new-time-o&:(neq ?new-time-o nil)))     

我也试过

(neq ?new-time-o "nil")

它似乎都不起作用,我没有激活。

4

1 回答 1

2

您没有提供足够的信息来回答您的问题。给定适当的数据,此规则将激活:

CLIPS> (deftemplate order (slot event-time))
CLIPS> 
(defrule update-time                                                        
   ?cur-time <- (current-time ?time)                                           
   (order (event-time ?new-time-o&:(neq ?new-time-o nil)))    
   =>)
CLIPS> (assert (order (event-time (time))))
<Fact-1>
CLIPS> (assert (current-time (time)))
<Fact-2>
CLIPS> (agenda)
0      update-time: f-2,f-1
For a total of 1 activation.
CLIPS> 
于 2013-05-01T18:53:58.980 回答