0
我试图触发这两个规则,但我得到了两个规则相同的输出。 This is the output i am getting for both.年龄规则没有得到正确执行
(defrule old-male
?gender <- (gender m)
?age <- (age ?age&:(> ?age 35))
=>
(printout t "Person is male & older. This Person must go after older females!" crlf)
(retract ?gender)
(retract ?age)
(ask-start-again))
(defrule young-male
?gender <- (gender m)
?age <- (age ?age&:(< ?age 35))
=>
(printout t "Person is male & younger. This Person must go after younger females!" crlf)
(retract ?gender)
(retract ?age)
(ask-start-again))
(reset)
(run)
请指点什么,我需要做什么来解决这个问题。
还有一种方法可以存储给出的输入(性别,年龄和姓名)并将它们与另一个人进行比较。 谢谢!
我已经添加了您建议的规则以及该列表的另一个规则。
(defrule print-solution
=>
(printout t "Name Age Gender" crlf)
(printout t "--------------------------------------" crlf))
我没有错误,但(打印所有人)规则没有得到执行。我错过了什么吗?友善的建议。
This is the new output I am getting
它工作。非常感谢。而且,我已经给出了与您建议的完全相同的(deftemplate)。我必须添加多个模板吗?但是对于我所拥有的代码,它会告诉“一个人何时可以去/何时去。”。当我选择'n'作为最终的问题时,它会停止。但是当我选择'n'作为最后一个问题时(比如给4个男人和4个女人后,假设),我无法弄清楚,如何显示我在列表中输入的所有人的年龄,性别,姓名。请指教。再次感谢。 –
感谢您的快速回复。我会试试看看是否有效。再次感谢。 –
你好,我编辑了我的问题。由于某些原因,该规则没有得到执行。请就该规则提出建议。如果我提供完整的代码来查看我做错了什么,它会有用吗? –