- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 10 个观察环境的传感器。如果正常,则传感器为 1,否则为 0。
如果至少有 3 个传感器处于 0 状态,我需要创建一个函数,它将向终端打印一条警告消息,并且消息警告只显示一次。这是我需要在剪辑中完成的。
谢谢你。
(deffacts listaSenzor
(sensor L1 0)
(sensor L2 0)
(sensor L3 1)
(sensor L4 1)
(sensor L5 1)
(sensor L6 1)
(sensor L7 0)
(sensor L8 1)
(sensor L9 0)
)
(defrule rr
(sensor ?a 0 )
(sensor ?b 0 )
(sensor ?c 0 )
=>
printout t ?a ?b ?c "==>WARNING" crlf)
)
最佳答案
您需要处理两个问题。首先是您定义的模式可以多次匹配同一事实(例如,传感器 L1
将绑定(bind)到 a
、 b
和 c
)。要解决此问题,您需要确保 a
, b
, 和 c
是独一无二的。一种方法如下(请注意,我还在您的 printout
语句前添加了一个缺失的“(”):
(deffacts listaSenzor
(sensor L1 0)
(sensor L2 0)
(sensor L3 1)
(sensor L4 1)
(sensor L5 1)
(sensor L6 1)
(sensor L7 0)
(sensor L8 1)
(sensor L9 0))
(defrule rr
(sensor ?a 0)
(sensor ?b 0)
(sensor ?c 0)
(test (neq ?a ?b))
(test (neq ?a ?c))
(test (neq ?b ?c))
=>
(printout t ?a ?b ?c "==>WARNING" crlf))
CLIPS> (reset)
CLIPS> (run)
L9L7L2==>WARNING
L9L7L1==>WARNING
L9L2L7==>WARNING
...
L1L2L7==>WARNING
L2L1L7==>WARNING
(defrule rr
(not (sensor-warning))
(sensor ?a 0)
(sensor ?b 0)
(sensor ?c 0)
(test (neq ?a ?b))
(test (neq ?a ?c))
(test (neq ?b ?c))
=>
(assert (sensor-warning))
(printout t ?a ?b ?c "==>WARNING" crlf))
sensor-warning
事实)。使用更新的规则运行:
CLIPS> (reset)
CLIPS> (run)
L9L7L2==>WARNING
CLIPS>
关于Clips-小程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20609840/
我在 Eclipse 上制作了一个视频游戏,我将制作一首菜单歌曲并停止该歌曲,但 Clip.stop();不工作我不知道为什么请帮助我。菜单歌曲Clip.play();和Clip.loop(Clip.
我想制作一个类似于单元测试的框架,允许我为各个规则编写自定义测试。我希望每个测试都在它自己的文件中,即 test_R1.clp 将是规则 R1 的测试文件。每个测试都应该能够加载它自己的事实文件。我已
我注意到使用 clip 属性也会删除 box-shadow 属性。有没有办法在同一个元素上同时使用两者? 一些背景:我为三种类型的产品设置了三列。每个产品都有一个图像,每个图像的大小都不同。我想标准化
我这里有一些代码,这让我很困惑;我想弄清楚为什么会出现空指针异常。我设置了一个 for-each-loop 来初始化每个剪辑。如果我自己初始化每一个,它就可以正常工作,并且可以播放剪辑。 musi
在我看来,Instance可以做到Fact可以做到的一切,Fact存在的意义是什么?换句话说,实例和事实有什么区别?有没有只能用Fact的情况? 这让我很困扰,我搜索了很多但没有给我答案,有人可以帮助
我正在尝试循环播放一个小的“.wav”音频文件。我使用的代码运行良好,但我想在循环音频之间设置一些时间间隔。下面提供了代码。 try { // from a wave File
我对将 Clips 嵌入到 C 和 C++ 中的区别感到困惑。我已按照高级编程指南(第 4.17 章)中的步骤成功将 Clips 嵌入到 C 程序中现在,我想将 Clips 嵌入到 C++ 程序中,我
我正在编写一个小脚本,让用户可以将自定义图像加载到网页的 Canvas 中。到目前为止,效果非常好。 Canvas 使用 fabric.js 脚本进行初始化,以便让用户执行一些简单的编辑任务。 “上传
当我第一次启动 App Clip 时,iOS 决定自动显示应用横幅。我们的 App Clip 本质上是该应用的完整版本,因此我们不希望我们的用户立即升级到该应用。 有没有办法在启动时隐藏它? 最佳答案
Sutherland-Hodgman 算法中解释了 4 条用于裁剪多边形的规则: 如果两个顶点都在裁剪区域内 - 保存第二个 如果第一个顶点在内部,第二个在外部 - 计算与裁剪区域边界的交点并保存 如
我创建了一个“登录页面”,它是一个影片剪辑。我的另一个页面是“主页”,这是另一个影片剪辑。所以我想做的是.. 我想将我的一个移动剪辑导航到另一个影片剪辑。和 `我不想使用时间线。 只需在actions
有人可以提供有关如何在 linux 环境中安装 clips 和 clipspy 的分步过程。 pip install clipspy 对我不起作用,因为我的组织不允许使用 pip。我需要从源代码构建。
我写了一个程序来断言这条规则的 LHS 中的事实: (defrule check-open-better (declare (salience 50)) ?f1 (assert (node
我有 10 个观察环境的传感器。如果正常,则传感器为 1,否则为 0。 如果至少有 3 个传感器处于 0 状态,我需要创建一个函数,它将向终端打印一条警告消息,并且消息警告只显示一次。这是我需要在剪辑
我正在尝试为示例规则绘制一个 Rete 网络,该规则在不同模式的变量之间没有绑定(bind)。我知道beta网络是用来确保不同模式下的弯曲变量是一致的。 (defrule R1 (type1 c1
我正在使用 剪辑 ( http://clipsrules.sourceforge.net/ ) 用于大学项目,但我无法直接从文件运行程序,在这种情况下,我不想使用提示插入 FACTS 和 RULES。
我想在运行规则时增加安全性。现在,它什么也没有改变。事实(human_resources n)确实存在。 (defglobal?security = 0) (第1条规则 (human_resource
[注意:寻找一个跨浏览器的解决方案,它不会在每一波 goo 之间瞬间闪烁 body 的背景,如 ccprog 的回答中所见;理想情况下,解决方案不应涉及等到第一波结束才开始显示第二波,以便两个波可以同
我在以下无法理解的代码中遇到错误 imgColor = cv2.imread(fileName, cv2.IMREAD_COLOR) imgColor1= cv2.cvtColor(imgColor,
我通过使用 CLIPSJNI 改编 WineDemo.clp 示例来尝试此操作。 (defmodule SEVERITY (import MAIN ?ALL) (exp
我是一名优秀的程序员,十分优秀!