我有一个在JESS中包含多个时隙的deftemplate,如果规则被触发,我想在多时隙中删除一个变量。例如:
(deftemplate Person (slot name)
(multislot friends))
(assert (Person (name John)(friends Jimmy Joe Jessica)))
现在我想从朋友插槽中删除Jimmy。
非常感谢你 阿里
答案 0 :(得分:1)
我已在您的问题中修复了一些遗漏,假设模板名称为Person
。
此规则从所有人friends
中消除了Jimmy。
(defrule KillJimmy
?p <- (Person (friends $?a Jimmy $?b))
=>
(modify ?p (friends (create$ $?a $?b)))
)