2013-09-27 1 views
2

이것은 숙제를위한 것이지만, 웹에서 좋은 제스 (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 $?)) 

어떤 위치에서든 고열 증상을 보이는 환자와 일치합니다.