测试多字段中的状态 - CLIPS

时间:2017-12-23 19:20:13

标签: clips expert-system

我想在规则的LHS中添加一个条件,该条件测试某个符号是否出现在模板的多区域中。

例如,在下面的代码中,我想用任何表达式替换注释使其工作。

(deftemplate foo
(slot field
    (type STRING)
   )
(multislot multifield
    (type INTEGER)
  )
)

(deftemplate bar
(slot field
   (type INT)
  )
)

(defrule rule
(foo (field ?f1) (multifield $?mf1))
(bar (field ?f2))
; IF f2 IS AN ELEMENT OF mf1
=>
(assert (relation f1 f2))
)

这里的语法是什么?

1 个答案:

答案 0 :(得分:0)

我需要使用member$函数!

(test (member$ ?f2 ?mf1))