Неуверенный, почему это не работает.Клипы OR Заявление не обжига
(defrule contain-red?
(initial-fact)
=>
(bind ?reply (get-text-from-user "Does it contain x (y/n?"))
(assert (existing-text ?reply)))
(defrule partOne
(existing-text "y")
=>
(bind ?reply (get-text-from-user "give me a number"))
(assert (credit-value-bsc-first-result (explode$ ?reply))))
(defrule partTwo
(existing-text "n")
=>
(bind ?reply (get-text-from-user "give me a number"))
(assert (credit-value-bsc-second-result (explode$ ?reply))))
(defrule learn-about-120?
(credit-value-bsc-first-result ?n)
(credit-value-bsc-second-result ?x)
(test (or (<= ?n 20) (<= ?x 20)))
=>
(bind ?reply (get-text-from-user "Reponse here)"))
(assert (learn-about-120-response ?reply)))
Я могу получить окончательное правило для работы с использованием и в другом сценарии. При загрузке в wxCLIPS ошибок не возникает, но когда я запускаю его и вводя соответствующие данные, последнее правило не срабатывает.
спасибо! У меня было ощущение, что переменные пустые, возможно, были проблемой. – Joe