У меня проблема, когда я сравниваю объект Java как атрибут внутри класса Java.
Это мой файл clp
(import Model.*)
(deftemplate PizzaBase
(declare (from-class PizzaBase)
(include-variables TRUE)))
(deftemplate PizzaTopping
(declare (from-class PizzaTopping)
(include-variables TRUE)))
(deftemplate Pizza
(declare (from-class Pizza)
(include-variables TRUE)))
(defrule make-pizza
?pizzaBase1 <-(PizzaBase{size == 9})
(Pizza(pizzaBase ?pizzaBase1))
=>
(add (new PizzaBase "New DeepPan" 10))
)
Согласно моему правилу, я хочу создать новый объект pizzaBase. Когда объект PizzaBase в Pizza равен PizzaBase1 (размер = 9), но JESS не создает для меня новый факт. По моему мнению, я думаю, что JESS не может сравнить объект Java, созданный из класса. Следовательно, JESS не добавляет никаких фактов.
Итак, «Как решить эту проблему?», Потому что я смотрю руководство на веб-сайте JESS, но там нет названия, соответствующего моей проблеме.
Благодарить!