【发布时间】:2018-04-15 18:45:50
【问题描述】:
Jess 选项卡中的以下代码将同一实例连续插入到多值槽中。
(defrule satisfactibleEstudio
(object (is-a Estudio)
(OBJECT ?user)
(nombre ?name)
(preferencias_minimas ?pref))
(object (is-a Chalet)
(OBJECT ?viv)
(precio ?p&: (and
(>= ?p (slot-get ?pref precio_minimo))
(<= ?p (slot-get ?pref precio_maximo))))
(tamanno ?t&: (and
(>= ?t (slot-get ?pref tamanno_minimo))
(<= ?t (slot-get ?pref tamanno_maximo))))
(componentes $?comp&: (>= (get-dorms $?comp) (slot-get ?pref dormitorios))))
=>
(slot-insert$ ?user satisfactibles 1 ?viv))
但是,如果我用打印输出替换 slot-insert$ 函数,它会按预期工作。我做错了什么?
更新: 所以显然它不断地将同一个实例插入到插槽中,但是通过打印输出,它每次匹配只打印一次。
【问题讨论】: