Почему переменная x не имеет хороших ссылок? - PullRequest
1 голос
/ 07 февраля 2020

В следующем коде jess / clips переменная x не имеет хорошей ссылки. Почему?

(assert (item 2))
(assert (item 12))

(defrule ex1not
    (not (item ?x))
    (item ?y & (> ?x 10)) <- HERE I GET "No such variable x"
    =>
)

1 Ответ

1 голос
/ 07 февраля 2020

Первый шаблон соответствует при отсутствии факта (item ?x) для любого значения ?x; это правда, когда (item) фактов нет вообще. Затем второй шаблон будет пытаться сравнить это ?x с 10. Если бы мы каким-то образом были на втором шаблоне, то, поскольку ?x ничего не совпало, он не имеет значения, поэтому вы не можете сравнить его ни с чем.

Если вы измените свой вопрос, добавив то, что вы на самом деле пытаетесь express, в Engli sh, я могу отредактировать свой ответ, чтобы показать вам, как.

...