clips - 剪辑我如何总结事实
问题描述
可以说我有以下两个deftemplates:
(deftemplate total-crop-yield-quality (slot primary_key) (slot quality))
(deftemplate total-fertilizer-quality (slot primary_key) (slot quality))
以及以下缺陷:
(deffacts tQuality
(total-crop-yield-quality (primary_key 1) (quality 10))
(total-crop-yield-quality (primary_key 2) (quality 7))
(total-crop-yield-quality (primary_key 3) (quality 9))
(total-crop-yield-quality (primary_key 4) (quality -2)))
(deffacts fQuality
(total-fertilizer-quality (primary_key 1) (quality 4))
(total-fertilizer-quality (primary_key 2) (quality 0))
(total-fertilizer-quality (primary_key 3) (quality 2))
(total-fertilizer-quality (primary_key 4) (quality 5)))
我如何将两个 deffacts 的所有质量的总和总结为一个变量?
(defrule determine-total-quality
=>
//code here to add quality to a variable)
解决方案
CLIPS (6.31 2/3/18)
CLIPS> (deftemplate total-crop-yield-quality (slot primary_key) (slot quality))
CLIPS> (deftemplate total-fertilizer-quality (slot primary_key) (slot quality))
CLIPS>
(deffacts tQuality
(total-crop-yield-quality (primary_key 1) (quality 10))
(total-crop-yield-quality (primary_key 2) (quality 7))
(total-crop-yield-quality (primary_key 3) (quality 9))
(total-crop-yield-quality (primary_key 4) (quality -2)))
CLIPS>
(deffacts fQuality
(total-fertilizer-quality (primary_key 1) (quality 4))
(total-fertilizer-quality (primary_key 2) (quality 0))
(total-fertilizer-quality (primary_key 3) (quality 2))
(total-fertilizer-quality (primary_key 4) (quality 5)))
CLIPS>
(defrule determine-total-quality
=>
(bind ?sum 0)
(do-for-all-facts ((?f total-crop-yield-quality)) TRUE
(bind ?sum (+ ?sum ?f:quality)))
(printout t "Crop Yield Quality: " ?sum crlf)
(bind ?sum 0)
(do-for-all-facts ((?f total-fertilizer-quality)) TRUE
(bind ?sum (+ ?sum ?f:quality)))
(printout t "Fertilizer Quality: " ?sum crlf))
CLIPS> (reset)
CLIPS> (run)
Crop Yield Quality: 24
Fertilizer Quality: 11
CLIPS>
推荐阅读
- python - 有谁知道如何使用 python 将 ico 转换为 png?
- html - 无法将 CSS 链接到 HTML
- java - 如何使用 Apache POI 根据 Excel 中的标题标题在特定列中写入?
- c - 如何正确同步障碍处的线程
- python - 使用其 unicode Python 替换字符串中的字符
- google-chrome - Websocket 连接错误 资源不足
- javascript - 有没有办法只允许子组件使用在父组件中设置的 Panresponder?
- javascript - 我想用 jQuery 创建一个简单的计算器
- c# - 从 ViewBag DotNet Core 设置 SelectedValue
- python - 如果有预订,Pythonanywhere 每小时任务发送一次电子邮件