一、
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规则引擎示例
本文介绍了一个使用CLIPS规则引擎实现的简单示例,该示例要求用户输入一个既能被3又能被5整除的数字,且该数字必须大于1小于100。通过定义规则并运行CLIPS,当所有条件符合时,程序将输出yes。
809

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



