这是一份家庭作业,但我很难在网上找到好的杰茜信息。我试图使用一个多时隙来解决一个问题,但是在如何匹配不同的值方面,我找不到任何东西。我有这个:
(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))我尝试过各种字段约束的组合,但是我似乎无法正确地理解它,网上没有给我任何线索。
谢谢。
发布于 2013-09-27 22:22:37
在要匹配的项之前和之后使用空白多字段;它们匹配零项或多项。所以,就像
(patient (name ?n) (symptoms $? very-high-fever $?))会在任何位置匹配任何有高烧症状的病人。
https://stackoverflow.com/questions/19042218
复制相似问题