我想在规则的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))
)
这里的语法是什么?
我需要使用member$
功能!
(test (member$ ?f2 ?mf1))