2017-12-23 11 views
0

템플릿의 멀티 슬롯 어딘가에 특정 심볼이 있는지 테스트하는 규칙의 LHS에 조건을 추가하고 싶습니다.multifield에서의 존재 여부 테스트 - CLIPS

예를 들어 아래 코드에서이 표현을 어떤 식 으로든 바꾸어 사용하고 싶습니다.

(deftemplate foo 
(slot field 
    (type STRING) 
    ) 
(multislot multifield 
    (type INTEGER) 
) 
) 

(deftemplate bar 
(slot field 
    (type INT) 
) 
) 

(defrule rule 
(foo (field ?f1) (multifield $?mf1)) 
(bar (field ?f2)) 
; IF f2 IS AN ELEMENT OF mf1 
=> 
(assert (relation f1 f2)) 
) 

여기에 구문은 무엇입니까?

답변

0

member$ 기능을 사용해야했습니다!

(test (member$ ?f2 ?mf1))