首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止夹子规则射击两次

防止夹子规则射击两次
EN

Stack Overflow用户
提问于 2022-05-26 09:05:55
回答 1查看 34关注 0票数 0

如果不收回最初的事实,我如何才能防止以下规则两次开火?

代码语言:javascript
复制
CLIPS> 
(defrule cf_calculation
   (CF ?cf1)
   (CF ?cf2&~?cf1)
   =>
   (bind ?fCF (+ ?cf1 ?cf2))
   (printout t "the final CF is " ?fCF crlf))
CLIPS> (assert (CF 10))
<Fact-1>
CLIPS> (assert (CF 5))
<Fact-2>
CLIPS> (run)
the final CF is 15
the final CF is 15
CLIPS>
EN

回答 1

Stack Overflow用户

发布于 2022-05-26 17:13:19

与其检查两个值的不等式,不如检查第一个值大于第二个值:

代码语言:javascript
复制
CLIPS> 
(defrule cf_calculation
   (CF ?cf1)
   (CF ?cf2&:(> ?cf1 ?cf2))
   =>
   (bind ?fCF (+ ?cf1 ?cf2))
   (printout t "the final CF is " ?fCF crlf))
CLIPS> (assert (CF 10))
<Fact-1>
CLIPS> (assert (CF 5))
<Fact-2>
CLIPS> (run)
the final CF is 15
CLIPS> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72389363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档