CLIPS-AND,OR,NOT条件元素

一、

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>

你可能感兴趣的:(cli)