一、
1、or、and、not可用在CLIPS中表示或、且、不是,and可不写但在LHS中默认。
2、下面要求用户输入一个能被3和5同时整除,但数字>1且<100,如果这些事实全部符合,则输出yes
二、操作
CLIPS> (clear)
CLIPS> (reset)
CLIPS> (defrule input-number
=>
(printout t "input a number:")
(bind ?num (read))
(assert (number ?num)))
CLIPS> (defrule num-test
?number<-(number ?num)
(test
(and
(not (or (> ?num 99)(< ?num1)))
(and(= 0 (mod ?num 3))(= 0 (mod ?num 5)))
)
)
=>
(retract ?number)
(printout t "yes" crlf))
CLIPS> (run)
input a number:30
yes
CLIPS> (reset)
CLIPS> (run)
input a number:18
CLIPS> (reset)
CLIPS> (run)
input a number:-15
CLIPS> (reset)
CLIPS> (run)
input a number:1500
CLIPS>
本文介绍了一个使用CLIPS规则引擎实现的简单示例:判断一个由用户输入的数字是否同时满足能被3和5整除,且该数字大于1小于100。通过定义事实和规则,并利用CLIPS内置的and、or、not等逻辑运算符进行条件判断。
812

被折叠的 条评论
为什么被折叠?



