首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >终止CLIPS中的指令

终止CLIPS中的指令
EN

Stack Overflow用户
提问于 2013-12-21 15:21:08
回答 1查看 2.1K关注 0票数 1

我对CLIPS专家系统很陌生。

如何告诉剪辑在执行特定指令后停止执行规则?!!

就像这样:

代码语言:javascript
复制
(defrule  firstRule   
   (some assumption) 
   => 
   (if (X happened) then (and (print "yikes 1")(terminate the program))

(defrule  secondRule 
   (some assumption) 
   => 
   (if (Y happened) then (and (print "yikes 2")(terminate the program))

(defrule  thirdRule 
   (some assumption) 
   => 
   (if (Z happened) then (and (print "yikes 3")(terminate the program))

如果Y和Z发生了,而X没有发生,我希望这样的东西被打印出来:

代码语言:javascript
复制
yikes 2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-22 17:31:06

用这个:

代码语言:javascript
复制
(if [condition]
   then
   (printout t "yikes 3" crlf)
   (halt))

其中的条件应该类似于变量、B或表达式(> 34)。在printout语句中,t是指示输出方向的逻辑名称(在本例中t表示标准输出),crlf输出一个回车/行提要(输出的新行)。(halt)语句在当前规则完成执行后停止规则的执行。然后,可以通过在命令提示符下输入(run)来重新启动执行。或者,(exit)命令将立即终止规则和CLIPS的执行。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20720457

复制
相关文章

相似问题

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