这是一项家庭作业,但我很难在网上找到好的jess信息。我正在尝试使用多时隙来解决问题,但我找不到任何关于如何匹配不同值的信息。我有这个:
(deftemplate patient (slot name)(multislot symptoms))
(deffacts init
(patient (name john) (symptoms very-high-fever cough)))
我怎样才能将左手与高热相匹配?如果我知道非常高烧是第一个症状,这是有效的,但我不能确定,所以如果非常高烧是其中一种症状,我需要能够匹配。
(defrule high-fever
(patient (name ?n)(symptoms very-high-fever ?))
=>
(printout t ?n " has a high fever." crlf))
我已经尝试了各种场地约束的组合,但我似乎无法做到正确,网上任何事都没有给我任何线索。
感谢。
答案 0 :(得分:0)
在要匹配的项目之前和之后使用空白多字段;他们匹配零个或多个项目。所以,像
(patient (name ?n) (symptoms $? very-high-fever $?))
将匹配任何位置的极高热症状的患者。